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.