Templates¶
The templates
directory should be placed in the same directory where the config.yaml
file. The changelogd init
command will prepare the templates for you. By default, you
can generate templates in Markdown
format or change to ReStructuredText
(with
changelogd init --rst
).
You can have your templates (and the output changelog) in any other text format you like,
just make sure that the template file names start with main
, release
and entry
.
Templates are using Jinja2 for rendering
the data. All templates have access to the fields defined in context
within config.yaml
.
main¶
This is the top-level template of the output changelog file. You can add some header and
footer here. The list of releases is passed into the template via releases
variable,
which should be printed in a loop:
{% for release in releases %}{{ release }}{% endfor %}
release¶
This template is responsible for displaying single release instances. It has access to
all variables within the data from YAML
release representations. The release should
iterate over entry groups, and display their content. Entry groups is stored as a list
in entry_groups
variable. Each group contain title
which is the title
from
message_types
defined in config.yaml
, and entries
that is a single entry
representation.
{% for group in entry_groups %}
### {{ group.title }}
{% for entry in group.entries %}
{{ entry }}
{% endfor %}
{% endfor %}
entry¶
Defines how the particular entry will be shown. It has access to all variables defined
in entry’s YAML
representation.