Skip to main content

Django template tags to compile CoffeeScript

Project description

THIS PACKAGE IS NOT MAINTAINED.

Please use django-static-precompiler

Django CoffeeScript

Django CoffeeScript provides template tags to compile CoffeeScript into JavaScript from templates. It works with both inline code and extenal files.

Installation

  1. Add "coffeescript" to INSTALLED_APPS setting.

  2. Make sure that you have coffee executable installed. See CoffeeScript official site for details.

  3. Optionally, you can specify the full path to coffee executable with COFFEESCRIPT_EXECUTABLE setting. By default it’s set to coffee.

  4. In case you use Django’s staticfiles contrib app you have to add django-coffeescript’s file finder to the STATICFILES_FINDERS setting, for example :

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    # other finders..
    'coffeescript.finders.CoffeescriptFinder',
)

Example Usage

Inline

{% load coffeescript %}

<script type="text/javascript">
  {% inlinecoffeescript %}
    console.log "Hello, World!"
  {% endinlinecoffeescript %}
</script>

renders to

  <script type="text/javascript">
    (function() {
  console.log("Hello, World!");
}).call(this);

  </script>

External file

{% load coffeescript %}

<script type="text/javascript"
        src="{{ STATIC_URL}}{% coffeescript "path/to/script.coffee" %}">
</script>

renders to

<script type="text/javascript"
        src="/media/COFFEESCRIPT_CACHE/path/to/script-91ce1f66f583.js">
</script>

Note that by default compiled files are saved into COFFEESCRIPT_CACHE folder under your STATIC_ROOT (or MEDIA_ROOT if you have no STATIC_ROOT in your settings). You can change this folder name with COFFEESCRIPT_ROOT and COFFEESCRIPT_OUTPUT_DIR settings.

Settings

COFFEESCRIPT_EXECUTABLE

Path to CoffeeScript compiler executable. Default: "coffee".

COFFEESCRIPT_ROOT

Controls the absolute file path that compiled files will be written to. Default: STATIC_ROOT.

COFFEESCRIPT_OUTPUT_DIR

Controls the directory inside COFFEESCRIPT_ROOT that compiled files will be written to. Default: "COFFEESCRIPT_CACHE".

COFFEESCRIPT_USE_CACHE

Whether to use cache for inline scripts. Default: True.

COFFEESCRIPT_CACHE_TIMEOUT

Cache timeout for inline scripts (in seconds). Default: 30 days.

COFFEESCRIPT_MTIME_DELAY

Cache timeout for reading the modification time of external scripts (in seconds). Default: 10 seconds.

Changes

0.7.2

  • Use hashlib instead of django.utils.hashcompat which is deprecated in Django 1.5

0.7.1

  • Always create a compiled file, even if no output was received from compiler

0.7

  • Add COFFEESCRIPT_ROOT setting

  • Add staticfiles finder to serve compiled files in dev mode

0.6

  • Switch to staticfiles.finders when looking up the files in DEBUG mode.

0.5.1

  • Add support for STATICFILES_DIRS with prefixes

0.5

  • When in DEBUG mode lookup coffee scripts in all STATICFILES_DIRS

0.4

  • Log coffeescript compilation errors

  • Fixed bug with paths on Windows (by syabro)

0.3

  • Use STATIC_ROOT / STATIC_URL settings when possible instead of MEDIA_ROOT / MEDIA_URL (by Roman Vorushin)

0.2.1

  • Add CHANGES.rst to MANIFEST.in

0.2

  • Automatically remove old files from COFFEESCRIPT_CACHE

  • Add basic unit tests

0.1

  • Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-coffeescript-0.7.2.tar.gz (7.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page