Sha256: 431eff537769d889e6e2811d26a4656bf9b631ff2b7966a8be3a17f5feb4c286
Contents?: true
Size: 1.59 KB
Versions: 1
Compression:
Stored size: 1.59 KB
Contents
require "jekyll/tidy/version" require "jekyll" require "htmlbeautifier" require "htmlcompressor" module Jekyll module Tidy def self.init(site) @JEKYLL_CONFIG = site.config end def self.jekyll_config @JEKYLL_CONFIG || Jekyll.configuration({}) end def self.exclude?(path, override = {}) config = jekyll_config.merge(override) exclude_paths = config["jekyll_tidy"] && config["jekyll_tidy"]["exclude"] exclude_paths.to_a.any? { |exclude| File.fnmatch(exclude, path) } end def self.compress_output? jekyll_config["jekyll_tidy"] && jekyll_config["jekyll_tidy"]["compress_html"] end def self.output_clean(output, compress = false) if compress return HtmlCompressor::Compressor.new.compress output else return HtmlBeautifier.beautify output end end def self.ignore_env? Jekyll.env == (jekyll_config["jekyll_tidy"] && jekyll_config["jekyll_tidy"]["ignore_env"]) end end end # Jekyll Hooks # ------------------------------------- Jekyll::Hooks.register :site, :after_reset do |jekyll| Jekyll::Tidy.init(jekyll) end Jekyll::Hooks.register :documents, :post_render do |doc| next if Jekyll::Tidy.ignore_env? unless Jekyll::Tidy::exclude?(doc.relative_path) doc.output = Jekyll::Tidy::output_clean(doc.output, Jekyll::Tidy.compress_output?) end end Jekyll::Hooks.register :pages, :post_render do |page| next if Jekyll::Tidy.ignore_env? unless Jekyll::Tidy::exclude?(page.relative_path) page.output = Jekyll::Tidy::output_clean(page.output, Jekyll::Tidy.compress_output?) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jekyll-tidy-0.2.2 | lib/jekyll/tidy.rb |