Simplify the use of Sass in Django.
Project description
django-sass-compiler
Simplify the use of Sass in Django
Using libsass
, compile all .scss
files found in the paths defined in settings.STATICFILES_FINDERS
Quickstart
1.- It's available on PyPI, so you can install it using pip
pip install django-sass-compiler
2.- Add django_sass_compiler
to your INSTALLED_APPS
INSTALLED_APPS = [
...,
'django_sass_compiler',
]
3.- Run sass-compiler
python manage.py sass-compiler
or combine with runserver
command, useful with --watch
argument.
python manage.py runserver & python manage.py sass-compiler --watch
Arguments:
All arguments are optional and combinable
-
-s, --style
Coding style of the compiled result. choose one of:
'nested'
,'expanded'
(default),'compact'
,'compressed'
You can also define this argument in
settings.SASS_COMPILER_STYLE
environment variable.SASS_COMPILER_STYLE = 'compressed'
-
-p, --precision
Sets the number of digits of precision. 8 by default.
You can also define this argument in
settings.SASS_COMPILER_PRECISION
environment variable.SASS_COMPILER_PRECISION = 5
-
-nb, --no-build
Don't create
build
folder.app/ |- static/ |- app/ |- scss/ |- style.scss |- css/ |- style.css
instead
app/ |- static/ |- app/ |- scss/ |- style.scss |- build/ |- css/ |- style.css
You can also define this argument in
settings.SASS_COMPILER_NO_BUILD
environment variable.SASS_COMPILER_NO_BUILD = True
-
-m, --map
Build a source map.
You can also define this argument in
settings.SASS_COMPILER_MAP
environment variable.SASS_COMPILER_MAP = True
-
-c, --clean
Remove old files before new compilation.
NOTE: This action will only take effect on current destination folder (
--no-build
).You can also define this argument in
settings.SASS_COMPILER_CLEAN
environment variable.SASS_COMPILER_CLEAN = True
-
-w, --watch
Watch and compile files when
.scss
files are changed.You can also define this argument in
settings.SASS_COMPILER_WATCH
environment variable.SASS_COMPILER_WATCH = True
-
-i, --ignore
Ignore files or directories matching this glob-style pattern. Use multiple times to ignore more.
NOTE: All patterns will applied in the path since the
static
folder to the file name.Example:
To ignore
apps/app/static/app/scss/style.scss
the longest path would be:python manage.py sass-compiler --ignore=app/scss/style.scss
orpython manage.py sass-compiler -i=**/**/style.scss
or some other glob-style pattern.
You can also define list paths to ignore in
settings.SASS_COMPILER_IGNORE
environment variable.SASS_COMPILER_IGNORE = [ 'app/scss/style.scss', 'app/scss/test/*' ]
@import
To @import .scss
files you must use absolute paths unless the files are at the same or less level, in that case you can use relative paths
some-app/
|- static/
|- some-app/
|- scss/
|- pages
|- _timeline.scss
|- _colors.scss
|- style.scss
other-app/
|- static/
|- other-app/
|- scss/
|- _variables.scss
some-app/style.scss
@import 'other-app/scss/variables';
@import 'pages/timeline';
@import 'colors'
### WRONG ###
@import '../../variables';
Outputs
Standard output:
$ python manage.py sass-compiler
app/
|- static/
|- app/
|- scss/
|- _colors.scss
|- style.scss
|- build/
|- css/
|- style.css
With some argument output:
python manage.py sass-compiler --style=compressed --no-build --map
app/
|- static/
|- app/
|- scss/
|- _colors.scss
|- style.scss
|- css/
|- style.min.css
|- style.css.map
Licensing
The project is licensed under the BSD License.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file django_sass_compiler-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: django_sass_compiler-1.1.0-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4f0eae81318b32c935cdbb549d6e33b44524e8f5a2cd151713226d7a3f28cb1 |
|
MD5 | e208b05571a1e58b91463e22d0c745ef |
|
BLAKE2b-256 | ea13856733ace09003722a480893ffcac7e2891bc91cbba3dbb7d2dabb971647 |