diff --git a/jinja.md b/jinja.md new file mode 100644 index 000000000..63c857a79 --- /dev/null +++ b/jinja.md @@ -0,0 +1,101 @@ +--- +title: jinja +category: python +layout: 2017/sheet +--- + +{% raw %} +### Basic usage + +``` +- variable x has content: {{ x }} +- expression: {{ x + 1 }} +- escaped for HTML: {{ x | e }} +``` + +### Control structures + +``` +{% for x in range(5) %} + {% if x % 2 == 0 %} + {{ x }} is even! + {% else %} + {{ x }} is odd! + {% endif %} +{% endfor %} +``` + +### Whitespace trimming + +``` +these are +{{ "three" }} +lines. + +this is conc +{{- "at" -}} +enated. +``` + +### Special blocks + +``` +{% filter e %}{% endraw %} +{ {%- if 0 -%}{%- endif -%} % raw %} +{%- raw -%} + This is a raw block where {{nothing is evaluated}} + {% not even this %} + and too with "e" filter +{% endraw %} +{ {%- if 0 -%}{%- endif -%} % endraw %}{% raw %} +{% endfilter %} + +{% macro myfunc(x) %} + this is a reusable macro, with arguments: {{x}} +{% endmacro %} + +{{ myfunc(42) }} + +{# +this is a comment +#} +``` + + +### Inheritance + +#### shared.html + +``` + +
+