Skip to content

Commit 65aab90

Browse files
committed
Add --md-header-base-level CLI option
1 parent 9397b54 commit 65aab90

File tree

3 files changed

+22
-18
lines changed

3 files changed

+22
-18
lines changed

changelog/config.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@ import "regexp"
55
var SemverVersionPattern = regexp.MustCompile("^\\d+\\.\\d+\\.\\d+$")
66

77
type Config struct {
8-
RenderFormat string
9-
RenderGitHubLinks bool
10-
SnippetsPaths []string
11-
ReleaseDate string
12-
ReleaseVersion string
13-
Product string
14-
SkipHeader bool
15-
ReadStdin bool
8+
RenderFormat string
9+
RenderGitHubLinks bool
10+
SnippetsPaths []string
11+
ReleaseDate string
12+
ReleaseVersion string
13+
Product string
14+
SkipHeader bool
15+
ReadStdin bool
16+
MarkdownHeaderBaseLevel int
1617
}

changelog/formatter.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,13 +198,13 @@ type MarkdownFormatter struct {
198198
}
199199

200200
func (m MarkdownFormatter) RenderHeader(config Config, buf *bytes.Buffer) error {
201-
buf.WriteString(fmt.Sprintf("# %s %s\n\n", config.Product, config.ReleaseVersion))
201+
buf.WriteString(fmt.Sprintf("%s %s %s\n\n", strings.Repeat("#", config.MarkdownHeaderBaseLevel), config.Product, config.ReleaseVersion))
202202
buf.WriteString(fmt.Sprintf("Released: %s\n\n", config.ReleaseDate))
203203
return nil
204204
}
205205

206206
func (m MarkdownFormatter) RenderType(config Config, snippetType string, buf *bytes.Buffer) error {
207-
buf.WriteString("## ")
207+
buf.WriteString(fmt.Sprintf("%s ", strings.Repeat("#", config.MarkdownHeaderBaseLevel+1)))
208208
buf.WriteString(titleCaser.String(snippetType))
209209
buf.WriteString("\n\n")
210210
return nil

cmd/changelog.go

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ var changelogEntryMinimalTemplate bool
103103
var changelogEntryInteractive bool
104104
var changelogSkipHeader bool
105105
var changelogReadStdin bool
106+
var changelogMarkdownHeaderBaseLevel int
106107

107108
func init() {
108109
changelogCmd.AddCommand(changelogRenderCmd)
@@ -131,6 +132,7 @@ func applyChangelogRenderFlags(cmd *cobra.Command) {
131132
cmd.Flags().StringVarP(&changelogProduct, "product", "p", "Graylog", "The product name. (e.g., \"Graylog\", \"Graylog Enterprise\")")
132133
cmd.Flags().BoolVar(&changelogSkipHeader, "skip-header", false, "Don't render the header")
133134
cmd.Flags().BoolVar(&changelogReadStdin, "stdin", false, "Read paths from STDIN")
135+
cmd.Flags().IntVar(&changelogMarkdownHeaderBaseLevel, "md-header-base-level", 1, "The Markdown header base level")
134136
}
135137

136138
func changelogRenderCommand(cmd *cobra.Command, args []string) {
@@ -189,14 +191,15 @@ func execChangelogRenderCommand(snippetsPaths []string) error {
189191
}
190192

191193
config := changelog.Config{
192-
RenderFormat: changelogRenderFormat,
193-
RenderGitHubLinks: !changelogDisableGitHubLinks,
194-
SnippetsPaths: snippetsPaths,
195-
ReleaseDate: changelogReleaseDate,
196-
ReleaseVersion: releaseVersion,
197-
Product: changelogProduct,
198-
ReadStdin: changelogReadStdin,
199-
SkipHeader: changelogSkipHeader,
194+
RenderFormat: changelogRenderFormat,
195+
RenderGitHubLinks: !changelogDisableGitHubLinks,
196+
SnippetsPaths: snippetsPaths,
197+
ReleaseDate: changelogReleaseDate,
198+
ReleaseVersion: releaseVersion,
199+
Product: changelogProduct,
200+
ReadStdin: changelogReadStdin,
201+
SkipHeader: changelogSkipHeader,
202+
MarkdownHeaderBaseLevel: changelogMarkdownHeaderBaseLevel,
200203
}
201204

202205
if err := changelog.Render(config); err != nil {

0 commit comments

Comments
 (0)