A library to make Jinja2 Extensions Easy
Project description
A Library to Quickly Turn Functions into Jinja2 Extensions
==========================================================
This library is best demonstrated through example:
```python
import jinjatag
### Configure your Jinja2 Environment:
jinja_tag = jinjatag.JinjaTag()
jinja2_env = Environment(extensions=[jinja_tag])
jinja_tag.init()
### Decorate your functions
@jinjatag.simple_tag()
def mytag(foo, bar=None, **kwargs):
return "mytag: "+foo+(bar or '')+str(kwargs)
@jinjatag.simple_block()
def myblock(body, foo, bar=None):
return "myblock : "+body+foo+(bar or '')
```
Then, in your template code, use your new tags:
{% mytag foo='abc' xyz='def' %}
{% myblock foo='bar' %}contents{% endmyblock %}
The resulting output:
mytag: abc{'xyz':'def'}
myblock: contentsbar
That's really all there is to it. A simple_tag is expected to accept 0 or more arguments and return a string. A simple_block is expected to accept at least one argument which will be its rendered body.
Install
-------
The module is registered with pypi, so simply use:
easy_install jinjatag
or, if you're so inclined:
pip install jinjatag
Further Documentation
----------------------
More documentation is available at http://mankyd.github.com/jinjatag/
Also, tests are available in https://github.com/mankyd/jinjatag/tree/master/jinjatag/tests
License
--------
GPL v3
Authors
-------
Dave Mankoff
Mike Axiak
==========================================================
This library is best demonstrated through example:
```python
import jinjatag
### Configure your Jinja2 Environment:
jinja_tag = jinjatag.JinjaTag()
jinja2_env = Environment(extensions=[jinja_tag])
jinja_tag.init()
### Decorate your functions
@jinjatag.simple_tag()
def mytag(foo, bar=None, **kwargs):
return "mytag: "+foo+(bar or '')+str(kwargs)
@jinjatag.simple_block()
def myblock(body, foo, bar=None):
return "myblock : "+body+foo+(bar or '')
```
Then, in your template code, use your new tags:
{% mytag foo='abc' xyz='def' %}
{% myblock foo='bar' %}contents{% endmyblock %}
The resulting output:
mytag: abc{'xyz':'def'}
myblock: contentsbar
That's really all there is to it. A simple_tag is expected to accept 0 or more arguments and return a string. A simple_block is expected to accept at least one argument which will be its rendered body.
Install
-------
The module is registered with pypi, so simply use:
easy_install jinjatag
or, if you're so inclined:
pip install jinjatag
Further Documentation
----------------------
More documentation is available at http://mankyd.github.com/jinjatag/
Also, tests are available in https://github.com/mankyd/jinjatag/tree/master/jinjatag/tests
License
--------
GPL v3
Authors
-------
Dave Mankoff
Mike Axiak
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
jinjatag-0.1.6.tar.gz
(13.5 kB
view details)
Built Distribution
jinjatag-0.1.6-py2.7.egg
(9.6 kB
view details)
File details
Details for the file jinjatag-0.1.6.tar.gz
.
File metadata
- Download URL: jinjatag-0.1.6.tar.gz
- Upload date:
- Size: 13.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7083eb15d9a0f5417c2e5b9bd353b06cfbf5445bb55974a8ac2b69017138cab8 |
|
MD5 | 78dbb90dbbf0c7fb87bf26e7171822f2 |
|
BLAKE2b-256 | cbc455baf2d879c06626bec4132eb993739562ebf78ca62ca19edc8a4b01bc61 |
File details
Details for the file jinjatag-0.1.6-py2.7.egg
.
File metadata
- Download URL: jinjatag-0.1.6-py2.7.egg
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a9ed284ca6092e3742cb2ecefe9b966aaa2acfe092b61819e38210f9d32ce91 |
|
MD5 | d4ffb55f15bd45f648a9f7fcd34a166f |
|
BLAKE2b-256 | 27902421a2b1276d4493a0eab94db01a0017f577b4f5a755da6ef9f3628ce976 |