Skip to content

StAnthonyNovato/jekyll-minifier

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jekyll-minifier (StAnthonyNovato fork)

Forked Version

This is a fork; it includes the functionality for sourcemaps.

Requires Ruby 2.3+

Minifies HTML, XML, CSS, JSON and JavaScript both inline and as separate files utilising yui-compressor and htmlcompressor.

This was created due to the previous minifier (jekyll-press) not being CSS3 compatible, which made me frown.

Note: this is my first ever gem, I'm learning, so feedback is much appreciated.

Installation

Because this is a fork, it's not on RubyGems... you'll be adding it to your Gemfile like this:

gem 'jekyll-minifier', git: 'https://github.com/StAnthonyNovato/jekyll-minifier.git'

Then run bundle install.

Badda boom, badda bing.

Options

Optionally, you can also add exclusions using:

jekyll-minifier:
  exclude: 'atom.xml' # Exclude files from processing - file name, glob pattern or array of file names and glob patterns

and toggle features and settings using:

jekyll-minifier:
  preserve_php: true                # Default: false
  remove_spaces_inside_tags: true   # Default: true
  remove_multi_spaces: true         # Default: true
  remove_comments: true             # Default: true
  remove_intertag_spaces: true      # Default: false
  remove_quotes: false              # Default: false
  compress_css: true                # Default: true
  compress_javascript: true         # Default: true
  compress_json: true               # Default: true
  simple_doctype: false             # Default: false
  remove_script_attributes: false   # Default: false
  remove_style_attributes: false    # Default: false
  remove_link_attributes: false     # Default: false
  remove_form_attributes: false     # Default: false
  remove_input_attributes: false    # Default: false
  remove_javascript_protocol: false # Default: false
  remove_http_protocol: false       # Default: false
  remove_https_protocol: false      # Default: false
  preserve_line_breaks: false       # Default: false
  simple_boolean_attributes: false  # Default: false
  compress_js_templates: false      # Default: false
  preserve_patterns:                # Default: (empty)
  uglifier_args:                    # Default: (empty)

js_args can be found in the the uglifier documentation at listed below

Note: es6 has been implemented as experimental only via the upstream uglifier package. See https://github.com/lautis/uglifier for more information.

To enable es6 syntax use:


jekyll-minifier:
  uglifier_args:
    harmony: true

About

Jekyll HTML/XML/CSS/JS Minifier utilising yui-compressor, and htmlcompressor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%