Jade syntax adapter for Django, Jinja2 and Mako templates
Project description
PyJade is a high performance template preprocessor, that converts any .jade source to the each Template-language (Django, Jinja2 or Mako).
INSTALLATION
First, you must do:
pip install pyjade
Or:
python setup.py install
Now simply name your templates with a `.jade` extension and this jade compiler will do the rest. Any templates with other extensions will not be compiled with the pyjade compiler.
Django
In settings.py, modify TEMPLATE_LOADERS like:
TEMPLATE_LOADERS = ( 'pyjade.ext.django.loaders.FSLoader', 'pyjade.ext.django.loaders.AppLoader', )
These replace your usual Django loaders:
django.template.loaders.filesystem.Loader django.template.loaders.app_directories.Loader
Jinja2
Just add pyjade.ext.jinja.PyJadeExtension as extension:
jinja_env = Environment(extensions=['pyjade.ext.jinja.PyJadeExtension'])
Mako
Just add pyjade.ext.mako.preprocessor as preprocessor:
from pyjade.ext.mako import preprocessor as mako_preprocessor mako.template.Template(haml_source, preprocessor=mako_preprocessor )
Actually the mako preprocessor is in development mode
Flask
Just add pyjade.ext.jinja.PyJadeExtension as extension to the environment of the app:
app.jinja_env.add_extension('pyjade.ext.jinja.PyJadeExtension')
Pyramid
Adjust your “your_project/__init__.py” and add the following line somewhere to in the main() function:
config.include('pyjade.ext.pyramid')
Syntax
The same as the Jade Node.js module (except of no commas on attributes) https://github.com/visionmedia/jade/blob/master/Readme.md
Example
This code:
!!! 5 html(lang="en") head title= pageTitle script(type='text/javascript') if (foo) { bar() } body h1.title Jade - node template engine #container if youAreUsingJade p You are amazing else p Get on it!
Converts to:
<!DOCTYPE html> <html lang="en"> <head> <title>{{pageTitle}}</title> <script type='text/javascript'> if (foo) { bar() } </script> </head> <body> <h1 class="title">Jade - node template engine</h1> <div id="container"> {%if youAreUsingJade%} <p>You are amazing</p> {%else%} <p>Get on it!</p> {%endif%} </div> </body> </html>
TODOs and BUGS
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pyjade-0.5.tar.gz
.
File metadata
- Download URL: pyjade-0.5.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f033cb4e07abb77595416a4898e44d67c6d436803b5ca2a1cbec86d9aa793e12 |
|
MD5 | 7976ba0eba91049752299d9d1c381373 |
|
BLAKE2b-256 | 4913a0045ecf77f483882a5a964b0027d347af99718e12f91f24558647d3f3e2 |