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)
Metadata
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| Minimatic-1.0.zip | 12.5 kB | Without provenance | Details | |
| Minimatic-1.0.tar.gz | 8.1 kB | Without provenance | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 |
Security for Minimatic 1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.