Chore: Initial git-cliff config
A little hacked together, but it is close enough to our primary format. Will still require manual sorting of commits by function since we're not doing conventional commits, but its lower friction for filling out github usernames etc.
This commit is contained in:
77
cliff.toml
Normal file
77
cliff.toml
Normal file
@@ -0,0 +1,77 @@
|
||||
# git-cliff ~ configuration file
|
||||
# https://git-cliff.org/docs/configuration
|
||||
|
||||
[changelog]
|
||||
# template for the changelog body
|
||||
# https://keats.github.io/tera/docs/#introduction
|
||||
body = """
|
||||
{% if version %}\
|
||||
{%- set versionlink = version -%}
|
||||
{% else %}\
|
||||
{%- set versionlink = "unreleased" -%}
|
||||
{% endif %}\
|
||||
## [{{ versionlink }}] — {{ timestamp | date(format="%Y-%m-%d") }}
|
||||
|
||||
### Changed
|
||||
{% for commit in commits %}
|
||||
- {{ commit.message | split(pat="\n") | first | upper_first | trim }} \
|
||||
{% if commit.github.username %}([@{{ commit.github.username }}]){% raw %} {% endraw %}{%- endif -%} \
|
||||
[c:{{ commit.id | truncate(length=7, end="") }}]
|
||||
{%- endfor -%}
|
||||
|
||||
{%- macro remote_url() -%}
|
||||
https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}
|
||||
{%- endmacro -%}
|
||||
|
||||
{% raw %}\n{% endraw %}
|
||||
<!-- COMPARISONS -->
|
||||
[{{ versionlink }}]: {{ self::remote_url() }}/compare/{{ previous.version }}...{{ versionlink }}
|
||||
|
||||
<!-- AUTHORS -->\
|
||||
{% for contributor in github.contributors | filter(attribute="is_first_time", value=true) %}
|
||||
[@{{ contributor.username }}]: https://github.com/{{ contributor.username }}
|
||||
{%- endfor -%}\
|
||||
{% raw %}\n{% endraw %}
|
||||
|
||||
<!-- COMMITS -->\
|
||||
{% for commit in commits %}
|
||||
[c:{{ commit.id | truncate(length=7, end="") }}]: {{ self::remote_url() }}/commit/{{ commit.id }}
|
||||
{%- endfor -%}
|
||||
{% raw %}\n{% endraw %}
|
||||
|
||||
"""
|
||||
# remove the leading and trailing whitespace from the template
|
||||
trim = true
|
||||
# changelog footer
|
||||
footer = """
|
||||
<!-- generated by git-cliff -->
|
||||
"""
|
||||
# postprocessors
|
||||
postprocessors = []
|
||||
|
||||
[git]
|
||||
# parse the commits based on https://www.conventionalcommits.org
|
||||
conventional_commits = false
|
||||
# filter out the commits that are not conventional
|
||||
filter_unconventional = true
|
||||
# process each line of a commit as an individual commit
|
||||
split_commits = false
|
||||
# regex for preprocessing the commit messages
|
||||
commit_preprocessors = [
|
||||
# remove issue numbers from commits
|
||||
{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "" },
|
||||
]
|
||||
# protect breaking changes from being skipped due to matching a skipping commit_parser
|
||||
protect_breaking_commits = false
|
||||
# filter out the commits that are not matched by commit parsers
|
||||
filter_commits = false
|
||||
# regex for matching git tags
|
||||
tag_pattern = "v[0-9].*"
|
||||
# regex for skipping tags
|
||||
skip_tags = "beta|alpha"
|
||||
# regex for ignoring tags
|
||||
ignore_tags = "rc"
|
||||
# sort the tags topologically
|
||||
topo_order = false
|
||||
# sort the commits inside sections by oldest/newest order
|
||||
sort_commits = "newest"
|
||||
Reference in New Issue
Block a user