]> git.ipfire.org Git - thirdparty/jinja.git/commitdiff
edit block assignment section 2064/head
authorDavid Lord <davidism@gmail.com>
Fri, 20 Dec 2024 16:29:04 +0000 (08:29 -0800)
committerDavid Lord <davidism@gmail.com>
Fri, 20 Dec 2024 16:29:04 +0000 (08:29 -0800)
docs/templates.rst

index 758ba90ce55166a6b5f701861b0b4af0191ca97d..8db8ccaf9ce3dab58dd1e7358ad109bafdc73270 100644 (file)
@@ -1086,35 +1086,34 @@ Assignments use the `set` tag and can have multiple targets::
 Block Assignments
 ~~~~~~~~~~~~~~~~~
 
-.. versionadded:: 2.8
+It's possible to use `set` as a block to assign the content of the block to a
+variable. This can be used to create multi-line strings, since Jinja doesn't
+support Python's triple quotes (``"""``, ``'''``).
 
-Starting with Jinja 2.8, it's possible to also use block assignments to
-capture the contents of a block into a variable name.  This can be useful
-in some situations as an alternative for macros. It can also be used to create
-multiline strings instead of triple quotes (''' and """), which Jinja does not
-support. In that case, instead of using an equals sign and a value, you just
-write the variable name and then everything until ``{% endset %}`` is captured.
+Instead of using an equals sign and a value, you only write the variable name,
+and everything until ``{% endset %}`` is captured.
 
-Example::
+.. code-block:: jinja
 
     {% set navigation %}
         <li><a href="/">Index</a>
         <li><a href="/downloads">Downloads</a>
     {% endset %}
 
-The `navigation` variable then contains the navigation HTML source.
-
-.. versionchanged:: 2.10
-
-Starting with Jinja 2.10, the block assignment supports filters.
+Filters applied to the variable name will be applied to the block's content.
 
-Example::
+.. code-block:: jinja
 
     {% set reply | wordwrap %}
         You wrote:
         {{ message }}
     {% endset %}
 
+.. versionadded:: 2.8
+
+.. versionchanged:: 2.10
+
+    Block assignment supports filters.
 
 .. _extends: