···
+
# https://keats.github.io/tera/docs/#introduction
+
{% for group, commits in commits | group_by(attribute="group") %}
+
=== {{ group | striptags | trim | upper_first }}
+
{% for commit in commits %}
+
- {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
+
{% if commit.breaking %}[**breaking**] {% endif %}\
+
{{ commit.message | upper_first }}\
+
# remove the leading and trailing s
+
conventional_commits = true
+
filter_unconventional = true
+
# Just things end users will care about
+
{ message = "^feat", group = "<!-- 0 -->๐ Features" },
+
{ message = "^fix", group = "<!-- 1 -->๐ Bug Fixes" },
+
{ message = "^doc", group = "<!-- 3 -->๐ Documentation" },
+
{ message = "^perf", group = "<!-- 4 -->โก Performance" },
+
{ message = "^style", group = "<!-- 5 -->๐จ Styling" },
+
{ message = "^test", group = "<!-- 6 -->๐งช Testing" },
+
{ message = "^chore|^ci|^refactor", skip = true },
+
{ body = ".*security", group = "<!-- 8 -->๐ก๏ธ Security" },
+
{ message = "^revert", group = "<!-- 9 -->โ๏ธ Revert" },
+
{ message = ".*", group = "<!-- 10 -->๐ผ Other" },
+
# filter out the commits that are not matched by commit parsers
+
sort_commits = "oldest"