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_cssoption to LESS compiler - Fix URL converter to properly handle
url(..)not followed directly by;
1.8.1
- Fix
setup.pyto add compatibility with Python 3.4 and below.
1.8
- Remove deprecated settings:
COFFEESCRIPT_EXECUTABLE,SCSS_EXECUTABLE,SCSS_USE_COMPASS,LESS_EXECUTABLE - Add
--ignore-dependenciesoption tocompilestaticcommand - Add
--delete-stale-filesoption tocompilestaticcommand
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_pathoption to LESS compiler - Take account of
load_pathsoption 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_pathssetting in SCSS/SASS compilers.
1.4
- Fix the
run_commandutility function to rely on process return code rather than stderr to determine if compilation has finished successfully. WARNING! Changes inrun_commandare backward incompatible. If you use this function in your custom compiler you should update your code.
1.3.1
- Add support for
--presetsoption 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
precisionoption to SASS / SCSS / LibSass compilers. Set it to 8 or more if you compile Bootstrap. - Add
output_styleoption to SASS / SCSS / LibSass compilers. - Enable verbose output for
compilestaticmanagement command
1.2
- Add LiveScript compiler
- Add support for
--global-varoption 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
pluginsparameter to Babel compiler - Add
load_pathsparameter to SASS/SCSS compilers
1.0.1
- Add
modulesparameter to Babel compiler - Allow to install Watchdog with
pip install django-static-precompiler[watch]
1.0
- Add
compiletemplate 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_COMPILERSsetting. - The following settings are DEPRECATED:
COFFEESCRIPT_EXECUTABLESCSS_EXECUTABLESCSS_USE_COMPASSLESS_EXECUTABLE
-C(--no-cache) flag is removed from SASS/SCSS compilers- Add
STATIC_PRECOMPILER_LIST_FILESsetting - 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
compilestaticworks ifwatchdogisn't installed. - BUGFIX: fix compilation error when dependency file was removed or renamed
0.7
- Add
compilestaticmanagement command (replacesstatic_precompiler_watch) - Add
STATIC_PRECOMPILER_DISABLE_AUTO_COMPILEto settings - Add
STATIC_PRECOMPILER_CACHE_NAMEto settings - Bugfixes
0.6
- Add
STATIC_PRECOMPILER_PREPEND_STATIC_URLto settings - Add
{% compile %}template tag
0.5.3
- Update the parsing of
@importstatements. 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_ROOTstatic_precompiler_watch: add--no-initial-scanoption
0.5.1
- Fix SCSS compilation error when importing Compass styles
0.5
- Add Python 3 support
0.4
- Add
compile_staticandcompile_static_lazyutility 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
Metadata
Release files for django-static-precompiler 2.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-static-precompiler-2.4.tar.gz | 24.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_static_precompiler-2.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.2 kB
Release files / django-static-precompiler-2.4.tar.gz
| Download URL | django-static-precompiler-2.4.tar.gz |
|---|---|
| Size | 24.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
22c983f4318f4ad96645d8b71af5c29d4525e55d0d5c3abe8917310280c7f89e
|
|
BLAKE2b-256 checksum How to use checksums |
09bfa8f0a07e954137d551c7fce53d48bc949ece9c3b8fbf559346a6922db0d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.6
|
Release files / django_static_precompiler-2.4-py3-none-any.whl
| Download URL | django_static_precompiler-2.4-py3-none-any.whl |
|---|---|
| Size | 34.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5b67e951b19e1136f6bf00d879ae236435fe4be3e430369644743b1677645ce4
|
|
BLAKE2b-256 checksum How to use checksums |
d5c190b8ff7efdd04a0108fdc4743fae3d6eb990ee4ed581fb9d73345a0fd22a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.6
|