Synopsis
--------
-A template is simply a text file. It can generate any text-based format
-(HTML, XML, CSV, LaTeX, etc.). It doesn't have a specific extension,
-``.html`` or ``.xml`` are just fine.
+A Jinja template is simply a text file. Jinja can generate any text-based
+format (HTML, XML, CSV, LaTeX, etc.). A Jinja template doesn't need to have a
+specific extension: ``.html``, ``.xml``, or any other extension is just fine.
-A template contains **variables** or **expressions**, which get replaced with
-values when the template is evaluated, and tags, which control the logic of
-the template. The template syntax is heavily inspired by Django and Python.
+A template contains **variables** and/or **expressions**, which get replaced
+with values when a template is *rendered*; and **tags**, which control the
+logic of the template. The template syntax is heavily inspired by Django and
+Python.
-Below is a minimal template that illustrates a few basics. We will cover
-the details later in that document::
+Below is a minimal template that illustrates a few basics using the default
+Jinja configuration. We will cover the details later in this document::
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
+ <!DOCTYPE html>
<html lang="en">
<head>
<title>My Webpage</title>
{% endblock %}
</div>
</body>
+ </html>
In this example, the ``{% block %}`` tags define four blocks that child templates
-can fill in. All the `block` tag does is to tell the template engine that a
-child template may override those portions of the template.
+can fill in. All the `block` tag does is tell the template engine that a
+child template may override those placeholders in the template.
Child Template
~~~~~~~~~~~~~~