Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Django Template Tags to compile CoffeeScript inline or from a file.

Project Description

django-coldbrew started as a fork of Django Coffeescript.

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

Installation

  1. Add "coldbrew" 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.

Example Usage

External file

{% load coldbrew %}

<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>

Inline

{% load coldbrew %}

<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>

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_OUTPUT_DIR setting.

Settings

COFFEESCRIPT_EXECUTABLE
Path to CoffeeScript compiler executable. Default: "coffee".
COFFEESCRIPT_OUTPUT_DIR
Output directory for compiled external scripts. It’s relative to STATIC_ROOT. 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.
COLDBREW_FAIL_LOUD
If True, raise ColdBrewCompileError upon encountering compiling error. Otherwise, records to error log. Defaults to same as DEBUG.

Changes

0.5

Added COLDBREW_FAIL_LOUD setting Added test coverage Tags now work with staticfiles app

*CHANGES BELOW ARE PRIOR TO FORK FROM django-coffeescript*

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
Release History

Release History

This version
History Node

0.5

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting