Update documentation for HTML templates style
This commit is contained in:
parent
a776c17263
commit
511d2628c0
@ -10,28 +10,29 @@ similar to [Jinja2](jinjadoc) and [Django](djangodoc) templates, and also to [As
|
|||||||
|
|
||||||
We want our rendered output to have as little unnecessary whitespace as
|
We want our rendered output to have as little unnecessary whitespace as
|
||||||
possible, so that pages load quickly. To achieve that we use Tera's
|
possible, so that pages load quickly. To achieve that we use Tera's
|
||||||
[whitespace control] features. At the end of most lines, we put an empty comment
|
[whitespace control] features. By default, whitespace characters are removed
|
||||||
tag with the whitespace control characters: `{#- -#}`. This causes all
|
around jinja tags (`{% %}` for example). At the end of most lines, we put an
|
||||||
whitespace between the end of the line and the beginning of the next, including
|
empty comment tag: `{# #}`. This causes all whitespace between the end of the
|
||||||
indentation, to be omitted on render. Sometimes we want to preserve a single
|
line and the beginning of the next, including indentation, to be omitted on
|
||||||
space. In those cases we put the space at the end of the line, followed by
|
render. Sometimes we want to preserve a single space. In those cases we put the
|
||||||
`{# -#}`, which is a directive to remove following whitespace but not preceding.
|
space at the end of the line, followed by `{#+ #}`, which is a directive to
|
||||||
We also use the whitespace control characters in most instances of tags with
|
remove following whitespace but not preceding. We also use the whitespace
|
||||||
control flow, for example `{%- if foo -%}`.
|
control characters in most instances of tags with control flow, for example
|
||||||
|
`{% if foo %}`.
|
||||||
|
|
||||||
[whitespace control]: https://tera.netlify.app/docs/#whitespace-control
|
[whitespace control]: https://tera.netlify.app/docs/#whitespace-control
|
||||||
|
|
||||||
We want our templates to be readable, so we use indentation and newlines
|
We want our templates to be readable, so we use indentation and newlines
|
||||||
liberally. We indent by four spaces after opening an HTML tag _or_ a Tera
|
liberally. We indent by four spaces after opening an HTML tag _or_ a Jinja
|
||||||
tag. In most cases an HTML tag should be followed by a newline, but if the
|
tag. In most cases an HTML tag should be followed by a newline, but if the
|
||||||
tag has simple contents and fits with its close tag on a single line, the
|
tag has simple contents and fits with its close tag on a single line, the
|
||||||
contents don't necessarily need a new line.
|
contents don't necessarily need a new line.
|
||||||
|
|
||||||
Tera templates support quite sophisticated control flow. To keep our templates
|
Askama templates support quite sophisticated control flow. To keep our templates
|
||||||
simple and understandable, we use only a subset: `if` and `for`. In particular
|
simple and understandable, we use only a subset: `if` and `for`. In particular
|
||||||
we avoid [assignments in the template logic](assignments) and [Tera
|
we avoid [assignments in the template logic](assignments) and [Askama
|
||||||
macros](macros). This also may make things easier if we switch to a different
|
macros](macros). This also may make things easier if we switch to a different
|
||||||
Jinja-style template system, like Askama, in the future.
|
Jinja-style template system, like Askama, in the future.
|
||||||
|
|
||||||
[assignments]: https://tera.netlify.app/docs/#assignments
|
[assignments]: https://djc.github.io/askama/template_syntax.html#assignments
|
||||||
[macros]: https://tera.netlify.app/docs/#macros
|
[macros]: https://djc.github.io/askama/template_syntax.html#macros
|
||||||
|
Loading…
x
Reference in New Issue
Block a user