Django template tags to compile all kinds of static files
Project description
Django Static Precompiler
Django Static Precompiler provides template tags and filters to compile CoffeeScript, LiveScript, SASS / SCSS, LESS, Stylus, Babel and Handlebars. It works with both inline code and external files.
Documentation
Documentation is available at https://django-static-precompiler.readthedocs.io.
Install
pip install django-static-precompiler
Use in templates
{% load compile_static %}
{% load static %}
<script src="{% static "path/to/script.coffee"|compile %}"></script>
<link rel="stylesheet" href="{% static "path/to/styles1.less"|compile %}" />
<link rel="stylesheet" href="{% static "path/to/styles2.scss"|compile %}" />
Use in Python
>>> from static_precompiler.utils import compile_static
>>> compile_static("styles.scss")
"COMPILED/styles.css"
Python & Django compatibility
django-static-precompiler | Python | Django |
---|---|---|
2.2+ | 3.6+ | 2.0 - 4.1 |
2.1 | 3.6+ | 2.0 - 4.0 |
2.0 | 3.4+ | 1.9 - 3.2 |
1.7-1.8 | 2.7+ | 1.7 - 2.2 |
1.6 | 2.7+ | 1.7 - 1.11 |
1.5 | 2.7+ | 1.6 - 1.10 |
1.1-1.4 | 2.7+ | 1.6 - 1.9 |
1.0 | 2.7+ | 1.6 - 1.7 |
Changelog
2.4
Deprecation
- Ruby-based Sass compiler is deprecated and will be removed in 3.0
New
- Added support for Dart Sass, see documentation on how to enable it. Dart Sass will become the default Sass compiler starting from 3.0
Bugfixes
- Fix the bug with a greedy regex in the URL converter
Misc
- Ensure compatibility with the latest versions of compilers:
- coffeescript@2.7.0 (may break compatibility with older versions)
- livescript@1.6.0
- less@4.1.3
- handlebars@4.7.7
2.3
- Fix incorrect source map URL with
libsass
2.2
- Add support for Django 4.1
2.1
- Drop Python 3.5 support
- Drop Django 1.x support
- Add support for Django 4.0
2.0
- Drop Python 2.x support
- Add support for Django 3.0 and 3.1
1.8.2
- Add
clean_css
option to LESS compiler - Fix URL converter to properly handle
url(..)
not followed directly by;
1.8.1
- Fix
setup.py
to add compatibility with Python 3.4 and below.
1.8
- Remove deprecated settings:
COFFEESCRIPT_EXECUTABLE
,SCSS_EXECUTABLE
,SCSS_USE_COMPASS
,LESS_EXECUTABLE
- Add
--ignore-dependencies
option tocompilestatic
command - Add
--delete-stale-files
option tocompilestatic
command
1.7.1
- Bugfix: properly handle the URLs containing parenthesis or quotes
1.7
- Prevent detection of imports in comments (SCSS)
- Add support for Django 2.0
1.6
- Add support for Django 1.11
- Drop support for Django 1.6
- Add
include_path
option to LESS compiler - Take account of
load_paths
option when doing inline compilation withlibsass
- Bugfix: take account of additional compiler options when doing inline compilation with SASS
1.5
- Add support for Django 1.10 and Python 3.5
- Improve support for
load_paths
setting in SCSS/SASS compilers.
1.4
- Fix the
run_command
utility function to rely on process return code rather than stderr to determine if compilation has finished successfully. WARNING! Changes inrun_command
are backward incompatible. If you use this function in your custom compiler you should update your code.
1.3.1
- Add support for
--presets
option in Babel compiler. See babel-cli [options <https://babeljs.io/docs/usage/options/>]{.title-ref} for more information.
1.3
- Fix Stylus compiler to actually enable support for detecting changes in imported files
- Add
precision
option to SASS / SCSS / LibSass compilers. Set it to 8 or more if you compile Bootstrap. - Add
output_style
option to SASS / SCSS / LibSass compilers. - Enable verbose output for
compilestatic
management command
1.2
- Add LiveScript compiler
- Add support for
--global-var
option in LESS compiler - Add SCSS / SASS compiler based on Libsass
1.1
- Add source maps support for SASS/SCSS
- Add source maps support for LESS
- Add source maps support for CoffeeScript
- Add source maps support for Stylus
- Add source maps support for Babel
- Add Handlebars compiler
- Add support for Django 1.9
- Add
plugins
parameter to Babel compiler - Add
load_paths
parameter to SASS/SCSS compilers
1.0.1
- Add
modules
parameter to Babel compiler - Allow to install Watchdog with
pip install django-static-precompiler[watch]
1.0
- Add
compile
template filter - Deprecate
{% compile %}
template tag - The following compiler specific template tags are REMOVED:
{% coffeescript %}
{% inlinecoffeescript %}
{% sass %}
{% inlinesass %}
{% scss %}
{% inlinescss %}
{% less %}
{% inlineless %}
- Add Stylus compiler
0.9
- Compiler options are specified with
STATIC_PRECOMPILER_COMPILERS
setting. - The following settings are DEPRECATED:
COFFEESCRIPT_EXECUTABLE
SCSS_EXECUTABLE
SCSS_USE_COMPASS
LESS_EXECUTABLE
-C
(--no-cache
) flag is removed from SASS/SCSS compilers- Add
STATIC_PRECOMPILER_LIST_FILES
setting - Add Babel compiler
0.8
- Add
{% inlinecompile %}
template tag - The following compiler specific template tags are DEPRECATED:
{% coffeescript %}
{% inlinecoffeescript %}
{% sass %}
{% inlinesass %}
{% scss %}
{% inlinescss %}
{% less %}
{% inlineless %}
- Use Django 1.7 migrations
- BUGFIX: fix sass imports from scss and vice versa
- BUGFIX: make sure that
compilestatic
works ifwatchdog
isn't installed. - BUGFIX: fix compilation error when dependency file was removed or renamed
0.7
- Add
compilestatic
management command (replacesstatic_precompiler_watch
) - Add
STATIC_PRECOMPILER_DISABLE_AUTO_COMPILE
to settings - Add
STATIC_PRECOMPILER_CACHE_NAME
to settings - Bugfixes
0.6
- Add
STATIC_PRECOMPILER_PREPEND_STATIC_URL
to settings - Add
{% compile %}
template tag
0.5.3
- Update the parsing of
@import
statements. Fix the bug with URLs containing commas.
0.5.2
static_precompiler_watch
: watch for changes in all directories handled by static finders, not onlySTATIC_ROOT
static_precompiler_watch
: add--no-initial-scan
option
0.5.1
- Fix SCSS compilation error when importing Compass styles
0.5
- Add Python 3 support
0.4
- Add
compile_static
andcompile_static_lazy
utility functions.
0.3
- Bug fixes
- Add Windows compatibility
0.2
- Reduce the max length of varchar fields in Dependency model to meet MySQL limitations
- static_precompiler_watch: don't fall with exception on compilation errors or if source file is not found
0.1
- Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for django-static-precompiler-2.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22c983f4318f4ad96645d8b71af5c29d4525e55d0d5c3abe8917310280c7f89e |
|
MD5 | 41877a5e00f538b9410295abb2c4039c |
|
BLAKE2b-256 | 09bfa8f0a07e954137d551c7fce53d48bc949ece9c3b8fbf559346a6922db0d9 |
Close
Hashes for django_static_precompiler-2.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b67e951b19e1136f6bf00d879ae236435fe4be3e430369644743b1677645ce4 |
|
MD5 | 64f07d9d0a519407eed8d1fcb23bdd7e |
|
BLAKE2b-256 | d5c190b8ff7efdd04a0108fdc4743fae3d6eb990ee4ed581fb9d73345a0fd22a |