Skip to content

MarSoft/muffin-jinja2

 
 

Repository files navigation

Muffin-Jinja2

Muffin-Jinja2 -- Jinja2 template engine for Muffin framework.

Build Status

image

image

Donate

Requirements

  • python >= 3.3

Installation

Muffin-Jinja2 should be installed using pip: :

pip install muffin-jinja2

Usage

Add muffin_jinja2 to PLUGINS in your Muffin Application configuration.

Options

JINJA2_AUTO_RELOAD -- Auto reload changed templates (False)

JINJA2_CACHE_SIZE -- Cache templates (50)

JINJA2_EXTENSIONS -- Enable Jinja2 Extensions (None)

JINJA2_LOADER -- Template loader (FileSystemLoader)

JINJA2_ENCODING -- Default encoding for file loader

JINJA2_TEMPLATE_FOLDERS -- List of template folders (['templates'])

Views

# Register custom context processor
# could be a function/coroutine
@app.ps.jinja2.context_processor
def custom_context():
    return { 'VAR': 'VALUE' }

# Register a function into global context
@app.ps.jinja2.register
def sum(a, b):
    return a + b

# Register a function with a different name
@app.ps.jinja2.register('div')
def mod(a, b):
    return a // b

# Register a filter
@app.ps.jinja2.filter
def test(value, a, b=None):
    return a if value else b

# Register a filter with a different name
@app.ps.jinja2.filter('bool')
def boolean(value):
    return bool(value)

@app.register('/')
def index(request):
    """ Check for user is admin. """
    local_context = {'key': 'value'}
    return app.ps.jinja2.render('index.html', **local_context)

Bug tracker

If you have any suggestions, bug reports or annoyances please report them to the issue tracker at https://github.com/klen/muffin-jinja2/issues

Contributing

Development of Muffin-Jinja2 happens at: https://github.com/klen/muffin-jinja2

Contributors

  • klen (Kirill Klenov)

License

Licensed under a MIT license.

About

Jinja2 templates for Muffin framework

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 80.9%
  • Makefile 17.0%
  • HTML 1.8%
  • Vim Script 0.3%