Source

django-compass2 /

Filename Size Date modified Message
src
test
99 B
276 B
49 B
3.8 KB
0 B
1.2 KB
14.9 KB
1.2 KB

django-compass2

django-compass2 is a re-usable Django application which provides an easy way of compiling your Compass or Sass based stylesheets to CSS. Its main benefit is Django settings integration, so you don't need lots of compass.rb configuration files lying around (especially with multiple deployments, et cetera). Other than that, it's simply a proxy to the compass command-line application.

Installation and Setup

  • You'll need to install Compass; this is a Ruby library, so use the gem utility (installed out-of-the-box on most systems):

    $ [sudo] gem install compass --pre
    
  • Then, just use pip or easy_install to install django-compass2 (the dependencies will be handled automatically):

    $ pip install django-compass2 # OR
    $ easy_install django-compass2
    
  • Add 'djcompass' to your INSTALLED_APPS setting.

  • In your settings.py file, add the necessary settings. Take a look at the configuration reference below for more information, but here's a quick example:

    COMPASS_INPUT = PROJECT_ROOT + 'media/sass'
    COMPASS_OUTPUT = PROJECT_ROOT + 'media/css'
    COMPASS_STYLE = 'compact'
    COMPASS_REQUIRES = (
        'ninesixty',  # 960.gs Grid System
    )
    
  • You can now compile your Sass with the management command:

    $ python manage.py compass
    

Usage

The command-line interface is very simple. To see available options and commands try:

$ python manage.py compass --help

Basically the syntax is as simple as:

$ python manage.py compass <primary_command>

Just compile your Sass into CSS:

$ python manage.py compass
   exists media/css
unchanged media/sass/style.sass

The above command is more or less equivalent to invoking:

compass --sass-dir media/sass --css-dir media/css --output-style compact

Monitor your Sass continuously:

$ python manage.py compass watch
>>> Compass is watching for changes. Press Ctrl-C to Stop.
>>> Change detected to: .../media/sass/style.sass
overwrite media/css/style.css
...

Which is something like:

compass --sass-dir media/sass --css-dir media/css --output-style compact --watch

Configuration Reference

Django Settings

These should go in your settings.py file.

Required settings

  • COMPASS_INPUT: The directory where you keep your Sass/Scss stylesheets.
  • COMPASS_OUTPUT: The directory to which Compass should output CSS.

Note that neither of these should have trailing slashes. They may be absolute or relative paths; if relative, they will be resolved against the current working directory.

Optional settings

  • COMPASS_EXECUTABLE: Path for your compass binary. Defaults to "compass"
  • COMPASS_STYLE: One of 'nested', 'expanded', 'compact' or 'compressed', specifying the style of the produced CSS output. The default is 'compact'.
  • COMPASS_REQUIRES: A sequence of Ruby libraries to require before running Compass commands.
  • COMPASS_IMAGE_DIR: The directory where images are stored (used for Compass's asset URL helpers).
  • COMPASS_SCRIPT_DIR: The directory containing your JavaScript files (used for Compass's asset URL helpers).
  • COMPASS_RELATIVE_URLS: Boolean specifying whether or not Compass's asset URL helpers should generate relative URLs.

Command-line Options

These options may be passed at runtime to affect how Compass is run.

  • -t, --trace: Print a full stacktrace on Compass errors.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.