pelican minify

An HTML minification plugin for Pelican, the static site generator.

48
8
Python

pelican-minify

PyPI Version
PyPI Downloads
Build Status

An HTML minification plugin for
Pelican, the static site generator.

Pelican Logo

Install

To install the library, you can use
pip.

$ pip install pelican-minify

Usage

To use pelican-minify, you need to make only a single change to your
pelicanconf.py file (the configuration file that Pelican uses to generate
your static site.

Update your PLUGINS global, and append minify to the list, eg:

# pelicanconf.py

# ...

PLUGINS = [
    # ...
    'minify',
    # ...
]

# ...

The next time you build your Pelican site, pelican-minify will automatically
minify your Pelican pages after they’ve been generated.

pelican-minify can also be configured by setting MINIFY to a hash containing
parameters to htmlmin, eg:

# pelicanconf.py

# ...

MINIFY = {
  'remove_comments': True,
  'remove_all_empty_space': True,
  'remove_optional_attribute_quotes': False
}

# ...

This reduces file size and obscures the public source code, but keep in
mind–minifying your static site will increase your Pelican build times, as it
adds extra file processing for each page generated.

NOTE: You should probably include the minify plugin at the very bottom of
your PLUGINS array. This will ensure it is the last thing to run, and
doesn’t prematurely gzip any files.

Changelog

v0.1: 12-4-2012

- First release!

v0.2: 2-12-2013

- Fixing issue with unicode characters.
- Upgrading django-htmlmin dependency.

v0.3: 2-12-2013

- Fixing tests.

v0.4: 2-15-2013

- Upgrading django-htmlmin.

v0.5: 8-28-2014

- Python 3 compatibility (thanks @AlexJF!).

v0.6: 9-9-2014

- Fixing unicode bug (thanks @kura!).

v0.7: 11-4-2014

- Making minification work on .htm files (thanks @Undeterminant!).

v0.8: 5-12-2015

- No longer removing optional quotes from HTML elements. This provides
  better compatibility across browsers / etc.

v0.9: 11-25-2015

- Making minify library configurable.
- Removing aggressive whitespace removal (*avoids issues*).