pyjade 3.0.0

Jade syntax template adapter for Django, Jinja2, Mako and Tornado templates

PyJade is a high performance port of Jade-lang for python, that converts any .jade source to the each Template-language (Django, Jinja2, Mako or Tornado).

UTILITIES

To simply output the conversion to your console:

pyjade [-c django|jinja|mako|tornado] input.jade [output.html]

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.Loader',(
        '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
)

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

Tornado Templates

Append this after importing tornado.template

from tornado import template
from pyjade.ext.tornado import patch_tornado
patch_tornado()

(...)

Syntax

Exactly the same as the Jade Node.js module (except of cases, which are not implemented) 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>

Register filters

If you want to register a function as a filter, you only have to decorate the function with pyjade.register_filter("filter_name")

import pyjade

@pyjade.register_filter('capitalize')
def capitalize(text,ast):
  return text.capitalize()

TESTING

You must have nose package installed. You can do the tests with:

./test.sh
MIT

Author

Syrus Akbary

Pip

pyjade==3.0.0
File Type Python Version Uploaded On Downloads
pyjade-3.0.0.tar.gz Source Sept. 1, 2014 6,661
Version Release Date
3.0.0 Sept. 1, 2014
2.2.0 March 8, 2014
2.1.0 Feb. 20, 2014
2.0.3 Oct. 3, 2013
2.0.2 March 4, 2013
2.0.1 March 1, 2013
2.0 Feb. 7, 2013
1.9 Jan. 6, 2013
1.8 Dec. 28, 2012
1.7 Dec. 3, 2012
1.6 Sept. 21, 2012
1.5.2 Aug. 31, 2012
1.5.1 Aug. 27, 2012
1.5 June 5, 2012
1.2 May 31, 2012
1.0.1 April 1, 2012
1.0.0 March 27, 2012
0.6.2 March 16, 2012
0.6.1 Dec. 29, 2011
0.6 Dec. 14, 2011
0.5.1.2 Dec. 1, 2011
0.5.1.1 Nov. 30, 2011
0.5.1 Nov. 29, 2011
0.5 Nov. 29, 2011
Date Package Version Action
Feb. 1, 2015, 11:05 p.m. pyjade 1.5.2 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 1.5.1 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 0.5 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 0.5.1 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 0.6.1 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 0.6.2 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 0.5.1.2 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 2.0.1 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 0.5.1.1 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 2.0.2 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 2.0 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 2.1.0 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 1.0.0 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 1.2 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 2.2.0 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 0.6 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 1.9 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 1.8 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 3.0.0 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 1.0.1 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 2.0.3 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 1.7 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 1.6 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade 1.5 Release Created
Feb. 1, 2015, 11:05 p.m. pyjade Package Created