Skip to main content

Minifies HTML files generated by Pelican

Project description

pelican-htmlmin

A Pelican plugin that uses htmlmin to remove comments and extra whitespace from your website after the pages have been generated.

Turning this:

<html>
  <head>
    <title>  Hello, World!  </title>
  </head>
  <body>
    <p> How  <em>you</em> doing?  </p>
  </body>
</html>

Into this:

<html><head><title>Hello, World!</title><body><p> How <em>you</em> doing? </p></body></html>

Installing

pelican-htmlmin, is available on pip:

$ pip install pelican-htmlmin

After you’ve installed the package, update the PLUGINS variable in your pelicanconf.py to include the package in your next pelican build.

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

Options

Being a very small wrapper around htmlmin, there are only a few options that you may need.

HTMLMIN_ENABLED

By Default, if Pelican is in DEBUG mode, pelican-htmlmin will not minify any files, helping with debugging. To override this, set HTMLMIN_ENABLED = True to minify your HTML files regardless of the DEBUG flag.

# minify generated files only if pelican is not in DEBUG mode
HTMLMIN_ENABLED = not logger.getEffectiveLevel() == logging.DEBUG

HTMLMIN_MATCH

pelican-htmlmin looks for files ending with .html or .htm to minify. You can use the HTMLMIN_MATCH to change the regular expression that matches the files you wish to minify.

HTMLMIN_MATCH = r'.html?$'

HTMLMIN_OPTIONS

If you wish to pass arguments directly to htmlmin, use the HTMLMIN_OPTIONS to pass keyword arguments.

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

For more information on the arguments you can give htmlmin, see their documentation here

Contributing

Please feel free to help. Buying me Beer, emailing issues, or patches via email, are all warmly welcomed, especially beer.

License: MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pelican-htmlmin-1.0.2.tar.gz (3.6 kB view hashes)

Uploaded Source

Built Distribution

pelican_htmlmin-1.0.2-py3-none-any.whl (3.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page