README.rst

pyjade-coffin

PyJade's Django template loader lacks mixin functionality due to the fact
Django has no macro support. This package uses Coffin with PyJade's Jinja2
extension to overcome this. It also provides a few fixes/tweaks to make jade's
behavior in Django more closely match the native JavaScript jade engine.

What this package does:

Registers PyJade's Jinja2 extension with coffin so .jade files are rendered
though Jinja2 which gives us mixin support.

Add relative path include support by subclassing coffinEnvironment and
overriding the join_path method. This matches jade's native JavaScript
engine's behavior.

Sets Jinja2's autoescape to false which allows HTML escaping to be handled
in Jade templates.

Installation

Install Package

Install with pip:

pip install pyjade-coffin

Setup Django

Add coffin and pyjade-coffin to INSTALLED_APPS in settings.py:

INSTALLED_APPS = (
...
'coffin',
'pyjade_coffin',
...
)

Usage

Shortcut Render Functions

To render a jade/jinja2 template you can use the render functions in the
pyjade_coffin.shortcuts module provides:

render_to_response

render

render_to_string

These functions work just like django.shortcuts' render functions except
they render Jade and Jinja2 templates.

NOTE: Jade templates are detected by their file extension so only
*.jade files get processed by PyJade.