.. _templating: Templating ========== Sphinx uses the `Jinja ` templating engine for its HTML templates. Jinja is a text-based engine, and inspired by Django templates, so anyone having used Django will already be familiar with it. It also has excellent documentation for those who need to make themselves familiar with it. The most important concept in Jinja is :dfn:`template inheritance`, which means that you can overwrite only specific blocks within a template, customizing it while also keeping the changes at a minimum. Inheritance is done via two directives, ``extends`` and ``block``. .. template path blocks extends !template These are the blocks that are predefined in Sphinx' ``layout.html`` template: **doctype** The doctype, by default HTML 4 Transitional. **rellinks** HTML ```` tag, by default empty. **beforerelbar** Block before the "related bar" (the navigation links at the page top), by default empty. Use this to insert a page header. **relbar** The "related bar" by default. Overwrite this block to customize the entire navigation bar. **rootrellink** The most parent relbar link, by default pointing to the "index" document with a caption of e.g. "Project v0.1 documentation". **relbaritems** Block in the ``