class BridgetownMinifyHtml::Minifier
Constants
- DEFAULT_OPTIONS
Public Class Methods
new(site)
click to toggle source
# File lib/bridgetown-minify-html/minifier.rb, line 28 def initialize(site) @site = site @minified_count = 0 end
Public Instance Methods
call!()
click to toggle source
# File lib/bridgetown-minify-html/minifier.rb, line 33 def call! (@site.pages + @site.documents).each do |page| minify_page(page) end Bridgetown.logger.info "Minify HTML:", "Complete, Processed #{@minified_count} file(s)" end
Private Instance Methods
compressible?(page)
click to toggle source
# File lib/bridgetown-minify-html/minifier.rb, line 50 def compressible?(page) page.respond_to?(:output_ext) && [".html", ".svg", ".xml"].include?(page.output_ext) end
compressor()
click to toggle source
# File lib/bridgetown-minify-html/minifier.rb, line 54 def compressor @compressor ||= HtmlCompressor::Compressor.new(options) end
minify_page(page)
click to toggle source
# File lib/bridgetown-minify-html/minifier.rb, line 43 def minify_page(page) return unless compressible?(page) page.output = compressor.compress(page.output) @minified_count += 1 end
options()
click to toggle source
# File lib/bridgetown-minify-html/minifier.rb, line 58 def options @options ||= DEFAULT_OPTIONS.merge(options_overrides) end
options_overrides()
click to toggle source
# File lib/bridgetown-minify-html/minifier.rb, line 62 def options_overrides @options_overrides ||= (@site.config["minify_html"] || {}) .each_with_object({}) { |(k, v), new_config| new_config[k.to_sym] = v; } .compact end