Skip to content

Commit 58eb82d

Browse files
break into component sections as needed
1 parent 49ad3b6 commit 58eb82d

File tree

4 files changed

+35
-20
lines changed

4 files changed

+35
-20
lines changed

internal/assets/markdown-breaking-template.md.tmpl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
## {{.Version}} [{{.Repo}}-{{.Version}}-breaking-changes]
2-
{{ if .BreakingChange -}}{{ range $k, $v := .BreakingChange }}{{ range $item := $v }}
2+
{{ if .BreakingChange -}}{{ range $k, $v := .BreakingChange }}{{ $k | header2 }}{{ range $item := $v }}
3+
34
::::{dropdown} {{ $item.Summary | beautify }}
4-
{{ if $item.Description }}{{ $item.Description }}{{ end }}
5+
{{ if $item.Description }}{{ $item.Description }}{{ else }}% Describe the functionality that changed{{ end }}
56

67
For more information, check {{ linkPRSource $item.Component $item.LinkedPR }}{{ linkIssueSource $item.Component $item.LinkedIssue }}.
78

internal/assets/markdown-deprecations-template.md.tmpl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
## {{.Version}} [{{.Repo}}-{{.Version}}-deprecations]
2-
{{ if .Deprecation -}}{{ range $k, $v := .Deprecation }}{{ range $item := $v }}
2+
{{ if .Deprecation -}}{{ range $k, $v := .Deprecation }}{{ $k | header2 }}{{ range $item := $v }}
33

44
::::{dropdown} {{ $item.Summary | beautify }}
5-
{{ if $item.Description }}{{ $item.Description }}{{ end }}
5+
{{ if $item.Description }}{{ $item.Description }}{{ else }}% Describe the functionality that was deprecated{{ end }}
66

77
For more information, check {{ linkPRSource $item.Component $item.LinkedPR }}{{ linkIssueSource $item.Component $item.LinkedIssue }}.
88

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,24 @@
11
## {{.Version}} [{{.Repo}}-release-notes-{{.Version}}]
22
{{ if or .KnownIssue .BreakingChange .Deprecation }}
33
{{ other_links }}{{- end }}
4-
{{ if or .Feature .Enhancement .Security .BugFix }}{{ if or .Feature .Enhancement }}
4+
{{ if or .Feature .Enhancement .Security .BugFix }}
5+
{{ if or .Feature .Enhancement }}
56
### Features and enhancements [{{.Repo}}-{{.Version}}-features-enhancements]
6-
{{ if .Feature }}{{ range $k, $v := .Feature }}{{ range $item := $v }}
7-
* {{ $item.Summary | beautify }} {{ linkPRSource $item.Component $item.LinkedPR }} {{ linkIssueSource $item.Component $item.LinkedIssue }}{{ if $item.Description }}
8-
{{ $item.Description | indent }}
9-
{{- end }}
10-
{{- end }}{{- end }}{{- end }}{{ if .Enhancement }}{{ range $k, $v := .Enhancement }}{{ range $item := $v }}
7+
{{ $additions := combine .Feature .Enhancement }}{{ range $k, $v := $additions }}{{ header2 $k }}
8+
{{ range $item := $v }}
119
* {{ $item.Summary | beautify }} {{ linkPRSource $item.Component $item.LinkedPR }} {{ linkIssueSource $item.Component $item.LinkedIssue }}{{ if $item.Description }}
1210
{{ $item.Description | indent }}
1311
{{- end }}
1412
{{- end }}{{- end }}{{- end }}
15-
{{- end }}
1613

1714
{{ if or .Security .BugFix }}
1815
### Fixes [{{.Repo}}-{{.Version}}-fixes]
19-
{{ if .Security }}{{ range $k, $v := .Security }}{{ range $item := $v }}
16+
{{ $fixes := combine .Security .BugFix }}{{ range $k, $v := $fixes }}{{ header2 $k }}
17+
{{ range $item := $v }}
2018
* {{ $item.Summary | beautify }} {{ linkPRSource $item.Component $item.LinkedPR }} {{ linkIssueSource $item.Component $item.LinkedIssue }}{{ if $item.Description }}
2119
{{ $item.Description | indent }}
2220
{{- end }}
23-
{{- end }}{{- end }}{{- end }}{{ if .BugFix }}{{ range $k, $v := .BugFix }}{{ range $item := $v }}
24-
* {{ $item.Summary | beautify }} {{ linkPRSource $item.Component $item.LinkedPR }} {{ linkIssueSource $item.Component $item.LinkedIssue }}{{ if $item.Description }}
25-
{{ $item.Description | indent }}
26-
{{- end }}
27-
{{- end }}{{- end }}{{- end }}{{- end }}
21+
{{- end }}{{- end }}{{- end }}
2822
{{ else }}
2923
_No new features, enhancements, or fixes._
3024
{{- end }}

internal/changelog/renderer.go

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,15 +159,35 @@ func (r Renderer) Render() error {
159159
if len(links) > 0 {
160160
return fmt.Sprintf(
161161
"_This release also includes: %s._",
162-
strings.Join(links, " and"),
162+
strings.Join(links, " and "),
163163
)
164164
} else {
165165
return ""
166166
}
167167
},
168168
// Ensure components have section styling
169-
"header2": func(s1 string) string {
170-
return fmt.Sprintf("**%s**", s1)
169+
"header2": func(s string) string {
170+
if s == "" || s == r.repo {
171+
return ""
172+
}
173+
s = strings.ToUpper(string(s[0])) + s[1:]
174+
s = strings.ReplaceAll(s, "-", " ")
175+
return fmt.Sprintf("\n\n**%s**", s)
176+
},
177+
"combine": func(map1 map[string][]Entry, map2 map[string][]Entry) map[string][]Entry {
178+
combinedMap := make(map[string][]Entry)
179+
180+
// Start with a copy of map1 entries
181+
for k, v := range map1 {
182+
combinedMap[k] = append([]Entry{}, v...)
183+
}
184+
185+
// Merge entries from map2, appending to any existing entries
186+
for k, v := range map2 {
187+
combinedMap[k] = append(combinedMap[k], v...)
188+
}
189+
190+
return combinedMap
171191
},
172192
}).
173193
Parse(string(tpl))

0 commit comments

Comments
 (0)