8000 Adding a custom 'jinja2template' filter. · woodcoder/flask-assets@b1a34b4 · GitHub
[go: up one dir, main page]

Skip to content

Commit b1a34b4

Browse files
Adding a custom 'jinja2template' filter.
This allows us to run static assets through Jinja2's templateing engine (using Flask's standard template contexts).
1 parent 20add2c commit b1a34b4

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

src/filter.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
"""Flask specific filters.
2+
3+
For those to be registered automatically, make sure the main flask-assets
4+
namespace imports this file.
5+
"""
6+
7+
8+
from flask.templating import render_template_string
9+
from webassets.filter import Filter, register_filter
10+
11+
12+
class Jinja2TemplateFilter(Filter):
13+
"""Will compile all source files as Jinja2 temlates using the standard
14+
Flask contexts.
15+
"""
16+
name = 'jinja2template'
17+
18+
def __init__(self, context=None):
19+
super(Jinja2TemplateFilter, self).__init__()
20+
self.context = context or {}
21+
22+
def input(self, _in, out, source_path, output_path, **kw):
23+
out.write(render_template_string(_in.read(), **self.context))
24+
25+
26+
register_filter(Jinja2TemplateFilter)

0 commit comments

Comments
 (0)
0