django-squeeze

Created: 2008-12-15 14:34
Updated: 2016-05-08 19:25
License: other

README.md

Installation

Put squeeze somewhere in PYTHONPATH, make it appear in INSTALLED_APPS in settings

INSTALLED_APPS += (
    'squeeze',
)

and add django.core.context_processors.request to your TEMPLATE_CONTEXT_PROCESSORS:

TEMPLATE_CONTEXT_PROCESSORS += (
    'django.core.context_processors.request',
)

Usage

In template

{% load squeeze_tags %}

CSS minification

{% css_squeeze "css/dynamic_minifyed.css" "css/style1.css,css/style2.css" %}

Will write minified

{{ STATIC_ROOT }}css/dynamic_minifyed.css

file and return (assumed "/static/" is you settings.STATIC_URL)

<link href="/static/css/dynamic_minifyed.css" rel="stylesheet" type="text/css" media="screen" />

JavaScript minification

{% js_squeeze "js/dynamic_minifyed.js" "js/script1.js,js/script2.js" %}

Will write minified

{{ STATIC_ROOT }}js/dynamic_minifyed.js

and return (assumed "/static/" is you settings.STATIC_URL)

<script type="text/javascript" src="https://github.com/static/js/dynamic_minifyed.js"></script>

JavaScript minification using Google Closure Compiler REST API

{% js_gclosure "js/dynamic_minifyed_closure.js" "js/script1.js,js/script2.js" %}

Will write minified

{{ STATIC_ROOT }}js/dynamic_minifyed_closure.js

and return (assumed "/static" is you settings.STATIC_URL)

<script type="text/javascript" src="https://github.com/static/js/dynamic_minifyed_closure.js"></script>

As additional parameter, you can put compression level string in Closure API terms just like:

{% js_gclosure "js/dynamic_minifyed_closure.js" "js/script1.js,js/script2.js" "WHITESPACE_ONLY" %}

Default compression level is "SIMPLE_OPTIMIZATIONS"

Regeneration

Those files will be regenerated only in case original files changed.

Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more