-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.NOTES.jinja
54 lines (48 loc) · 1.77 KB
/
.NOTES.jinja
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
{#- macro: render_commit -#}
{%- macro render_commit(commit) -%}
- {{ commit.convention.subject|default(commit.subject) }} ([{{ commit.hash|truncate(7, True, '') }}]({{ commit.url }}) by {{ commit.author_name }}).
{%- if commit.text_refs.issues_not_in_subject %} Related issues/PRs: {% for issue in commit.text_refs.issues_not_in_subject -%}
{% if issue.url %}[{{ issue.ref }}]({{ issue.url }}){% else %}{{ issue.ref }}{% endif %}{% if not loop.last %}, {% endif -%}
{%- endfor -%}{%- endif -%}
{%- for trailer_name, trailer_value in commit.trailers.items() -%}
{%- if trailer_value|is_url %} [{{ trailer_name }}]({{ trailer_value }})
{%- else %} {{ trailer_name }}: {{ trailer_value }}{% endif %}
{%- if not loop.last %},{% endif %}
{%- endfor -%}
{%- endmacro -%}
{#- macro: breaking_changes -#}
{%- macro breaking_changes(commit) -%}
{% set ns = namespace(found=false) %}
**BREAKING CHANGES**:
{%- for line in commit.body -%}
{% if ns.found %}
{{ line }}
{%- endif -%}
{%- if 'BREAKING CHANGES:' in line -%}
{%- set ns.found = true -%}
{%- endif -%}
{%- endfor -%}
{%- endmacro -%}
{#- macro: render_section -#}
{%- macro render_section(section) -%}
### {{ section.type or "Misc" }}
{% for commit in section.commits|sort(attribute='author_date',reverse=true)|unique(attribute='subject') -%}
{{ render_commit(commit) }}
{%- if 'BREAKING CHANGES:' in commit.body -%}
{{ breaking_changes(commit) }}
{% endif %}
{% endfor %}
{%- endmacro -%}
{%- macro render_version(version) -%}
{% for type in changelog.sections %}
{%- if type in version.sections_dict %}
{%- with section = version.sections_dict[type] %}
{{ render_section(section) }}
{%- endwith %}
{%- endif %}
{%- endfor %}
{% endmacro -%}
{#- template -#}
{% for version in changelog.versions_list -%}
{{ render_version(version) }}
{%- endfor -%}