https://github.com/tru-dev/django_sass_finder
A static files finder for Django that compiles Sass files
https://github.com/tru-dev/django_sass_finder
django sass
Last synced: 4 months ago
JSON representation
A static files finder for Django that compiles Sass files
- Host: GitHub
- URL: https://github.com/tru-dev/django_sass_finder
- Owner: Tru-Dev
- License: mit
- Created: 2020-10-24T22:48:47.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-09-24T23:38:29.000Z (over 4 years ago)
- Last Synced: 2025-08-23T13:57:34.333Z (10 months ago)
- Topics: django, sass
- Language: Python
- Homepage:
- Size: 28.3 KB
- Stars: 0
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Django Sass Finder
A static files finder for Django that compiles Sass files
## Installation
### WARNING: MAKE SURE YOU HAVE NO SASS PACKAGES INSTALLED (other than libsass)!
Run `pip install django_sass_finder` to add this module to your virtualenv,
then add the finder to the list your static file finders as follows:
```python
STATICFILES_FINDERS = [
# add the default Django finders as this setting will override the default
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# our finder
'django_sass_finder.finders.ScssFinder',
]
```
There is no need to add django_sass_finder into `settings.INSTALLED_APPS`.
The following additional (with examples) settings are used and required by this staticfiles finder:
```python
BASE_DIR = ...
SCSS_ROOT = BASE_DIR / 'scss' # where the .scss files are sourced
SCSS_COMPILE = [ # a list of filename pattern to search for within SCSS_ROOT
'site.scss', # default is **/*,css (all scss source files in and below SCSS_ROOT)
'admin/admin.scss',
]
SCSS_INCLUDE_PATHS = [ # optional: scss compiler include paths (default = empty)
BASE_DIR / 'node_modules'
]
CSS_STYLE = 'compressed' # optional: output format 'nested', 'expanded','compact','compressed'
CSS_MAP = True # optional: generate a source map
CSS_COMPILE_DIR = BASE_DIR / 'static' / 'css' # The target directories for the compiled .css
STATICFILES_ROOT = [ # this should be at or above the CSS_COMPILE_DIR
BASE_DIR / 'static' # but targetting {app}/static should also work
]
```
`BASE_DIR` and variants above are `pathlib.Path` objects, but path strings can also be used.
## Usage
This module dynamically compiles to target .css files, and recompiles them on demand whenever
they are updated.
The `collectstatic` management command compiles these, and lets the `FilesystemFinder` transfer
them to STATIC_ROOT. The development server is perfectly able to serve these from
STATICFILES_ROOT without the need to `collectstatic`.
## License
This package is licensed under the MIT license.