1.9 KiB
title | template |
---|---|
templates | docs.tera |
webdog templates
in webdog, 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 <head>
html element like so:
<head>
<title>{{ title }}</title>
</head>
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 <head>
html element like so:
<head>
{{ head | safe }}
</head>
this variable will be removed before the first crates.io release.
scripts
the page's extra scripts. this should be rendered in the <head>
html element like so:
<head>
{% for script in scripts %}
<script type="text/javascript" src="{{script}}" defer></script>
{% endfor %}
</head>
this variable will be removed before the first crates.io release.
styles
the page's extra stylesheets. this should be rendered in the <head>
html element like so:
<head>
{% for style in styles %}
<link rel="stylesheet" href="/styles/{{style}}" />
{% endfor %}
</head>
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:
<main class="page">
{% block content %}{{ page | safe }}{% endblock content %}
</main>