1
- # configuration file for git-cliff (0.1.0)
1
+ # git-cliff ~ default configuration file
2
+ # https://git-cliff.org/docs/configuration
3
+ #
4
+ # Lines starting with "#" are comments.
5
+ # Configuration options are organized into tables and keys.
6
+ # See documentation for more information on available options.
2
7
3
8
[changelog ]
4
- # changelog header
9
+ # template for the changelog header
5
10
header = """
6
11
# Changelog\n
7
12
All notable changes to this project will be documented in this file.\n
8
13
"""
9
14
# template for the changelog body
10
- # https://tera.netlify.app /docs/#introduction
15
+ # https://keats.github.io/tera /docs/#introduction
11
16
body = """
12
17
{% if version %}\
13
18
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
@@ -16,28 +21,23 @@ body = """
16
21
{% endif %}\
17
22
{% for group, commits in commits | group_by(attribute="group") %}
18
23
### {{ group | striptags | trim | upper_first }}
19
- {% for commit in commits
20
- | filter(attribute="scope")
21
- | sort(attribute="scope") %}
22
- - *({{commit.scope}})*{% if commit.breaking %} [**breaking**]{% endif %} \
23
- {{ commit.message | upper_first }}
24
- {%- endfor -%}
25
- {% raw %}\n {% endraw %}\
26
- {%- for commit in commits %}
27
- {%- if commit.scope -%}
28
- {% else -%}
29
- - {% if commit.breaking %}[**breaking**] {% endif %}\
30
- {{ commit.message | upper_first }}
31
- {% endif -%}
32
- {% endfor -%}
24
+ {% for commit in commits %}
25
+ - {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
26
+ {% if commit.breaking %}[**breaking**] {% endif %}\
27
+ {{ commit.message | upper_first }}\
28
+ {% endfor %}
33
29
{% endfor %}\n
34
30
"""
35
- # remove the leading and trailing whitespace from the template
36
- trim = true
37
- # changelog footer
31
+ # template for the changelog footer
38
32
footer = """
39
33
<!-- generated by git-cliff -->
40
34
"""
35
+ # remove the leading and trailing s
36
+ trim = true
37
+ # postprocessors
38
+ postprocessors = [
39
+ { pattern = ' <REPO>' , replace = " https://github.com/ravenexp/crates-io-proxy/" },
40
+ ]
41
41
42
42
[git ]
43
43
# parse the commits based on https://www.conventionalcommits.org
@@ -48,34 +48,32 @@ filter_unconventional = true
48
48
split_commits = false
49
49
# regex for preprocessing the commit messages
50
50
commit_preprocessors = [
51
- { pattern = ' \((\w+\s)?#([0-9]+)\)' , replace = " ([#${2}](https://github.com/ravenexp/crates-io-proxy/issues/${2}))" },
51
+ # Replace issue numbers
52
+ { pattern = ' \((\w+\s)?#([0-9]+)\)' , replace = " ([#${2}](<REPO>/issues/${2}))" },
53
+ # Check spelling of the commit with https://github.com/crate-ci/typos
54
+ # If the spelling is incorrect, it will be automatically fixed.
55
+ # { pattern = '.*', replace_command = 'typos --write-changes -' },
52
56
]
53
57
# regex for parsing and grouping commits
54
58
commit_parsers = [
55
- { message = " ^feat" , group = " Features" },
56
- { message = " ^fix" , group = " Bug Fixes" },
57
- { message = " ^doc" , group = " Documentation" },
58
- { message = " ^perf" , group = " Performance" },
59
- { message = " ^refactor" , group = " Refactor" },
60
- { message = " ^style" , group = " Styling" },
61
- { message = " ^test" , group = " Testing" },
62
- { message = " ^chore\\ (release\\ ): prepare for" , skip = true },
63
- { message = " ^chore\\ (build\\ ):" , skip = true },
64
- { message = " ^chore" , group = " Miscellaneous Tasks" },
65
- { message = " ^build" , group = " Build configuration" },
66
- { message = " ^ci" , group = " CI configuration" },
67
- { body = " .*security" , group = " Security" },
59
+ { message = " ^feat" , group = " <!-- 0 -->🚀 Features" },
60
+ { message = " ^fix" , group = " <!-- 1 -->🐛 Bug Fixes" },
61
+ { message = " ^doc" , group = " <!-- 3 -->📚 Documentation" },
62
+ { message = " ^perf" , group = " <!-- 4 -->⚡ Performance" },
63
+ { message = " ^refactor" , group = " <!-- 2 -->🚜 Refactor" },
64
+ { message = " ^style" , group = " <!-- 5 -->🎨 Styling" },
65
+ { message = " ^test" , group = " <!-- 6 -->🧪 Testing" },
66
+ { message = " ^build" , group = " <!-- 7 -->🛠️ Build" },
67
+ { message = " ^chore\\ (release\\ ): prepare for" , skip = true },
68
+ { message = " ^chore\\ (deps.*\\ )" , skip = true },
69
+ { message = " ^chore\\ (pr\\ )" , skip = true },
70
+ { message = " ^chore\\ (pull\\ )" , skip = true },
71
+ { message = " ^chore|^ci" , group = " <!-- 8 -->⚙️ Miscellaneous Tasks" },
72
+ { body = " .*security" , group = " <!-- 9 -->🛡️ Security" },
73
+ { message = " ^revert" , group = " <!-- 10 -->◀️ Revert" },
68
74
]
69
- # protect breaking changes from being skipped due to matching a skipping commit_parser
70
- protect_breaking_commits = false
71
75
# filter out the commits that are not matched by commit parsers
72
76
filter_commits = false
73
- # glob pattern for matching git tags
74
- tag_pattern = " v[0-9]*"
75
- # regex for skipping tags
76
- skip_tags = " v0.1.0-beta.1"
77
- # regex for ignoring tags
78
- ignore_tags = " "
79
77
# sort the tags topologically
80
78
topo_order = false
81
79
# sort the commits inside sections by oldest/newest order
0 commit comments