Repository navigation
Expand file tree
/
Copy pathcliff.toml
More file actions
94 lines (81 loc) · 3.67 KB
/
Copy pathcliff.toml
File metadata and controls
94 lines (81 loc) · 3.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# https://git-cliff.org/docs/configuration
[bump]
breaking_always_bump_major = false
[changelog]
# Header blank lines stay literal: a \n escape doubles the line's own newline,
# and markdownlint rejects the result (MD012). The body joins lines with
# backslashes, so its \n escapes are deliberate.
header = """
<!-- markdownlint-configure-file { "no-duplicate-heading": false } -->
# Changelog
All notable changes will be documented in this file. See [conventional commits](https://www.conventionalcommits.org) for commit guidelines.
The format is based on [Keep a Changelog](https://keepachangelog.com) and this project adheres to [Semantic Versioning](https://semver.org).
"""
body = """
{% if version %}\
{% if previous.version %}\
## [{{ version | trim_start_matches(pat="v") }}]($REPO/compare/{{ previous.version }}..{{ version }}) - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% endif %}\
{% else %}\
## [Unreleased]
{% endif %}\
{% for group, commits in commits | unique(attribute="message") | group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{% for commit in commits
| filter(attribute="scope")
| sort(attribute="scope") %}
- **({{commit.scope}})**{% if commit.breaking %} [**breaking**]{% endif %} \
{{ commit.message }} - ([{{ commit.id | truncate(length=7, end="") }}]($REPO/commit/{{ commit.id }})) - [{{ commit.author.name }}](mailto:{{ commit.author.email }})
{%- endfor -%}
{% raw %}\n{% endraw %}\
{%- for commit in commits %}
{%- if commit.scope -%}
{% else -%}
- {% if commit.breaking %} [**breaking**]{% endif %}\
{{ commit.message }} - ([{{ commit.id | truncate(length=7, end="") }}]($REPO/commit/{{ commit.id }})) - [{{ commit.author.name }}](mailto:{{ commit.author.email }})
{% endif -%}
{% endfor -%}
{% endfor %}\n
"""
footer = """
<!-- generated by git-cliff -->
"""
trim = true
postprocessors = [
{ pattern = '<REPO>', replace = 'https://github.com/michen00/custom-commit-hooks' },
{ pattern = '\$REPO', replace = 'https://github.com/michen00/custom-commit-hooks' },
]
[git]
conventional_commits = true
filter_unconventional = false
require_conventional = false
split_commits = false
commit_preprocessors = []
commit_parsers = [
{ message = "^\\d+\\.\\d+\\.\\d+$", skip = true },
{ message = "^chore\\(release\\): prepare( for)? v\\d+\\.\\d+\\.\\d+", skip = true },
{ message = "^chore\\(deps.*\\)", skip = true },
{ message = "^chore\\(pr\\)", skip = true },
{ message = "^chore\\(pull\\)", skip = true },
{ message = '^chore: merge', skip = true },
{ message = "^docs\\(blame\\)", skip = true },
{ message = '^docs: update .git-blame-ignore-revs', skip = true },
{ message = '^feat', group = '<!-- 00 -->✨ Features' },
{ message = '^fix', group = '<!-- 01 -->🐛 Fixes' },
{ message = '^perf', group = '<!-- 02 -->⚡ Performance' },
{ message = '^test', group = '<!-- 03 -->🧪 Testing' },
{ message = '^ci', group = '<!-- 04 -->💚 Continuous Integration' },
{ message = '^build', group = '<!-- 05 -->👷 Build' },
{ message = '^doc', group = '<!-- 06 -->📝 Documentation' },
{ message = '^refactor', group = '<!-- 07 -->♻️ Refactor' },
{ message = '^style', group = '<!-- 08 -->🎨 Styling' },
{ message = '^chore', group = '<!-- 09 -->⚙️ Miscellaneous Tasks' },
{ message = '^revert', group = '<!-- 10 -->⏪️ Revert' },
{ message = '^.*', group = '<!-- 11 -->💼 Other' },
]
protect_breaking_commits = true
filter_commits = false
topo_order = true
sort_commits = 'newest'