Skip to main content

Minimatic

An extension to WebHelpers that enables a real time JS/CSS combination and minification in production mode.

Installation

Using easy_install:

$ easy_install minimatic

Using pip:

$ pip install minimatic

Source code

Git repository is located at GitHub.com.

Usage

It extends the WebHelpers functions javascript_link and stylesheet_link to take a modified set of parameters:

  • sources (list): JS/CSS items to process. Each item is one of the following:
    • (dict) with keys:
      • file: a path to the source file relative to the static file root

      • minify: minification method. Possible values (default False):
        • False (bool): use the source unmodified

        • strip (str): only strip extra whitespace and comments (applicable to CSS only)

        • minify (str): strip whitespace and apply other possible JS/CSS minifications. Note that this involves source parsing and will err on syntax errors (CSS hacks will be removed!). In effect the resulting file may be logically different

      • dest: if the source list is not combined then each item must provide a destination filename relative to the static file root

    • (str): it will be treated as (see above):

      {'file': (str), 'minify': False}
  • combined (str): the combined filename relative to the static file root. Implies that the files need to be combined. If combined is None then every Item must have a dest key provided.

  • beaker_kwargs (dict): override default arguments that will be passed to beaker_cache. beaker_kwargs.update() is issued on default arguments.

  • timestamp append time.time timestamp to links to force browsers reload the JS/CSS assets, eg. test.js?t=123012343

The files will be combined in production mode; in development mode (debug=True) they will be served unmodified separately.

Example

Mix and match the sources into one big JS file:

>>> javascript_link(
...     # These files are already minified; combine them only
...     '/js/jquery.js',
...     '/js/jquery-ui-custom.js',
...     # These are custom files which need to be minified first
...     dict(file='/js/base.js', minify='minify'),
...     dict(file='/js/page-script.js', minify='minify'),
...     combined='/combined/js/scripts.js',
...     timestamp=True)

Serve CSS files separately (uncombined):

>>> stylesheet_link(
...     # This stylesheet is valid CSS and safe to parse and minify
...     dict(file='/css/base.css', minify='minify',
...         dest='/combined/css/base.css'),
...     # This stylesheet is full of CSS hacks and only the extra whitespace
...     # and comments should be stripped
...     dict(file='/css/styles.ie6.css', minify='strip',
...         dest='/combined/css/styles.ie6.css'),
...     timestamp=True)

Release files for Minimatic 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distributions (sdists)

Source distribution for Minimatic 1.0
File Size Uploaded
Minimatic-1.0.zip 12.5 kB Details
Minimatic-1.0.tar.gz 8.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for Minimatic 1.0
File Interpreter ABI Platform
Minimatic-1.0-py2.6.egg Legacy Egg format - - Details
Minimatic-1.0-py2.5.egg Legacy Egg format - - Details

Total release size: 51.3 kB

Release files / Minimatic-1.0.zip

Download URL Minimatic-1.0.zip
Size 12.5 kB
Tags Source
SHA-256 checksum
How to use checksums
be3a7046026a0cc03792085c169bfb52bbcdf115b411d3d1e40254a7eaaa619e
BLAKE2b-256 checksum
How to use checksums
2febc936a1ad4ef5be2989f8c31aa0a1fdc9a0d160018cd8ac93de99ba9f497e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / Minimatic-1.0.tar.gz

Download URL Minimatic-1.0.tar.gz
Size 8.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e2d8a037f797ac3ba5aa81aae8ab6a84322c174ef3709a72a787d94c31a12d06
BLAKE2b-256 checksum
How to use checksums
4d419ba4bf266296e177a6d3b6af547a9b6b7a4780308afeb2249d9b5a1e541e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / Minimatic-1.0-py2.6.egg

Download URL Minimatic-1.0-py2.6.egg
Size 15.3 kB
Tags Egg
SHA-256 checksum
How to use checksums
c8f1f9a72c07e7df6120edd49864b454a7203ed24ec1725bc1c5b2ab9ddbf948
BLAKE2b-256 checksum
How to use checksums
f038608cd8240156f13c8c7e02c0b674efcb4ee947e334a3fed821db239de2cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / Minimatic-1.0-py2.5.egg

Download URL Minimatic-1.0-py2.5.egg
Size 15.3 kB
Tags Egg
SHA-256 checksum
How to use checksums
54327a27dbff190e4b59c4553f801ca8ee1ce700dac4128a84fd27c9730c4ce5
BLAKE2b-256 checksum
How to use checksums
5afc8045c19c1e191e854e88d47c8ab939d76332fccd7cf07fb004c447faa336
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0 This release

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page