--- title: templates template: docs.tera --- # webdog templates in webdog, [Tera](https://keats.github.io/tera/) templates are used as the backbone for your site. as used in webdog, your Tera templates are essentially just an extension on top of html. when you create your site, a file at `templates/base.tera` will be created, acting as the default base template for all pages. ## base template blocks all base templates should include a block named `content`. this will be used in other templates, particularly resource templates, to render to the correct location on the page. ## template data all templates are given the following variables: ### `title` the page's title. this should be rendered in the `` html element like so: ```html {{ title }} ``` this variable will no longer be required to set the page title before the first crates.io release. ### `head` the page's extra head data. this should be rendered in the `` html element like so: ```html {{ head | safe }} ``` this variable will be removed before the first crates.io release. ### `scripts` the page's extra scripts. this should be rendered in the `` html element like so: ```html {% for script in scripts %} {% endfor %} ``` this variable will be removed before the first crates.io release. ### `styles` the page's extra stylesheets. this should be rendered in the `` html element like so: ```html {% for style in styles %} {% endfor %} ``` this variable will be removed before the first crates.io release. ### `page` the main html content for the page to be rendered. can be rendered anywhere you choose, for instance: ```html
{% block content %}{{ page | safe }}{% endblock content %}
```