Yaffs site version 1.1
[yaffs-website] / vendor / twig / twig / doc / filters / raw.rst
diff --git a/vendor/twig/twig/doc/filters/raw.rst b/vendor/twig/twig/doc/filters/raw.rst
new file mode 100644 (file)
index 0000000..e5e5b12
--- /dev/null
@@ -0,0 +1,36 @@
+``raw``
+=======
+
+The ``raw`` filter marks the value as being "safe", which means that in an
+environment with automatic escaping enabled this variable will not be escaped
+if ``raw`` is the last filter applied to it:
+
+.. code-block:: jinja
+
+    {% autoescape %}
+        {{ var|raw }} {# var won't be escaped #}
+    {% endautoescape %}
+
+.. note::
+
+    Be careful when using the ``raw`` filter inside expressions:
+
+    .. code-block:: jinja
+
+        {% autoescape %}
+            {% set hello = '<strong>Hello</strong>' %}
+            {% set hola = '<strong>Hola</strong>' %}
+
+            {{ false ? '<strong>Hola</strong>' : hello|raw }}
+            does not render the same as
+            {{ false ? hola : hello|raw }}
+            but renders the same as
+            {{ (false ? hola : hello)|raw }}
+        {% endautoescape %}
+
+    The first ternary statement is not escaped: ``hello`` is marked as being
+    safe and Twig does not escape static values (see
+    :doc:`escape<../tags/autoescape>`). In the second ternary statement, even
+    if ``hello`` is marked as safe, ``hola`` remains unsafe and so is the whole
+    expression. The third ternary statement is marked as safe and the result is
+    not escaped.