@@ -17,7 +17,8 @@ import (
1717var RenderLongDescription = `Use this command to render the consolidated changelog.
1818
1919--version is required. Consolidated changelog version (x.y.z) in 'changelogs' folder
20- --file_type is required. Specify the file_type: 'asciidoc' or 'markdown'`
20+ --file_type is optional. Specify the file_type: 'asciidoc' or 'markdown'
21+ --template is optional. Specify full path to your template file or use predefined templates. Default: asciidoc-embedded`
2122
2223func RenderCmd (fs afero.Fs ) * cobra.Command {
2324 renderCmd := & cobra.Command {
@@ -42,6 +43,11 @@ func RenderCmd(fs afero.Fs) *cobra.Command {
4243 return fmt .Errorf ("error parsing flag 'file_type': %w" , err )
4344 }
4445
46+ template , err := cmd .Flags ().GetString ("template" )
47+ if err != nil {
48+ return fmt .Errorf ("error parsing flag 'template': %w" , err )
49+ }
50+
4551 c , err := changelog .FromFile (fs , fmt .Sprintf ("./%s/%s.yaml" , dest , version ))
4652 if err != nil {
4753 return fmt .Errorf ("error loading changelog from file: %w" , err )
@@ -55,23 +61,29 @@ func RenderCmd(fs afero.Fs) *cobra.Command {
5561 } else if file_type == "markdown" {
5662 r_index := changelog .NewRenderer (fs , c , renderedDest , "markdown-index" , repo )
5763 if err := r_index .Render (); err != nil {
58- return fmt .Errorf ("cannot build asciidoc file: %w" , err )
64+ return fmt .Errorf ("cannot build markdown file: %w" , err )
5965 }
6066 r_breaking := changelog .NewRenderer (fs , c , renderedDest , "markdown-breaking" , repo )
6167 if err := r_breaking .Render (); err != nil {
62- return fmt .Errorf ("cannot build asciidoc file: %w" , err )
68+ return fmt .Errorf ("cannot build markdown file: %w" , err )
6369 }
6470 r_deprecations := changelog .NewRenderer (fs , c , renderedDest , "markdown-deprecations" , repo )
6571 if err := r_deprecations .Render (); err != nil {
66- return fmt .Errorf ("cannot build asciidoc file: %w" , err )
72+ return fmt .Errorf ("cannot build markdown file: %w" , err )
73+ }
74+ } else {
75+ r := changelog .NewRenderer (fs , c , renderedDest , template , repo )
76+ if err := r .Render (); err != nil {
77+ return fmt .Errorf ("cannot build file: %w" , err )
6778 }
6879 }
6980
7081 return nil
7182 },
7283 }
7384
74- renderCmd .Flags ().String ("file_type" , viper .GetString ("file_type" ), "The file type used to generate the changelog: `asciidoc` or `markdown`" )
85+ renderCmd .Flags ().String ("file_type" , viper .GetString ("file_type" ), "The file type of the rendered release notes: `asciidoc` or `markdown`" )
86+ renderCmd .Flags ().String ("template" , viper .GetString ("template" ), "The template used to generate the changelog" )
7587 renderCmd .Flags ().String ("version" , "" , "The version of the consolidated changelog being created" )
7688 err := renderCmd .MarkFlagRequired ("version" )
7789 if err != nil {
0 commit comments