/ cliff.toml
cliff.toml
 1  [changelog]
 2  header = """
 3  # Changelog\n
 4  All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.\n
 5  """
 6  
 7  body = """
 8  ---
 9  {% if version %}\
10      {% if previous.version %}\
11          ## [{{ version | trim_start_matches(pat="v") }}]($REPO/compare/{{ previous.version }}..{{ version }}) - {{ timestamp | date(format="%Y-%m-%d") }}
12      {% else %}\
13          ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
14      {% endif %}\
15  {% else %}\
16      ## [unreleased]
17  {% endif %}\
18  {% for group, commits in commits | group_by(attribute="group") %}
19      ### {{ group | striptags | trim | upper_first }}
20      {% for commit in commits
21      | filter(attribute="scope")
22      | sort(attribute="scope") %}
23          - **({{commit.scope}})**{% if commit.breaking %} [**breaking**]{% endif %} \
24              {{ commit.message }} - ([{{ commit.id | truncate(length=7, end="") }}]($REPO/commit/{{ commit.id }}))
25      {%- endfor -%}
26      {% raw %}\n{% endraw %}\
27      {%- for commit in commits %}
28          {%- if commit.scope -%}
29          {% else -%}
30              - {% if commit.breaking %} [**breaking**]{% endif %}\
31                  {{ commit.message }} - ([{{ commit.id | truncate(length=7, end="") }}]($REPO/commit/{{ commit.id }}))
32          {% endif -%}
33      {% endfor -%}
34  {% endfor %}\n
35  """
36  
37  footer = """
38  <!-- generated by git-cliff -->
39  """
40  trim = true
41  
42  postprocessors = [
43      { pattern = '\$REPO', replace = "https://github.com/kepelet/flo" },
44  ]
45  
46  [git]
47  conventional_commits = true
48  filter_unconventional = true
49  split_commits = false
50  commit_preprocessors = [
51      { pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](https://github.com/kepelet/flo/issues/${2}))"},
52  ]
53  
54  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 = "Refactoring" },
60      { message = "^style", group = "Style" },
61      { message = "^revert", group = "Revert" },
62      { message = "^test", group = "Tests" },
63      { message = "^chore\\(version\\):", skip = true },
64      { message = "^chore", group = "Miscellaneous Chores" },
65      { body = ".*security", group = "Security" },
66  ]
67  
68  filter_commits = false
69  topo_order = false
70  sort_commits = "oldest"