module Octopress::MinifyHTML

Constants

VERSION

Public Instance Methods

minify(item) click to toggle source
# File lib/octopress-minify-html.rb, line 10
def minify(item)
  options = symbolize(item.site.config['html_press'] || {})
  if minify?(item)
    HtmlPress.press(item.output, options)
  else
    item.output
  end
end
minify?(item) click to toggle source
# File lib/octopress-minify-html.rb, line 19
def minify?(item)
  config = item.site.config
  if item.destination(config['destination']).end_with?('html')
    minify = config['minify_html']
    production = config['env'].nil? || config['env'] =~ /production/i

    # Minify if configuration explicitly requires minification
    # or if Jekyll env is production
    minify || (minify.nil? && production)
  end
end
symbolize(obj) click to toggle source
# File lib/octopress-minify-html.rb, line 31
def symbolize(obj)
  return obj.reduce({}) do |memo, (k, v)|
    memo.tap { |m| m[k.to_sym] = symbolize(v) }
  end if obj.is_a? Hash
    
  return obj.reduce([]) do |memo, v| 
    memo << symbolize(v); memo
  end if obj.is_a? Array
  
  obj
end