github.com/rivy-go/git-changelog@v0.0.0-20240424224517-b86e6ab57773/internal/changelog/example_test.go (about) 1 package changelog 2 3 import ( 4 "bytes" 5 "fmt" 6 "log" 7 ) 8 9 func Example() { 10 gen := NewGenerator(&Config{ 11 Bin: "git", 12 WorkingDir: ".", 13 Template: "CHANGELOG.tpl.md", 14 Info: &Info{ 15 Title: "CHANGELOG", 16 RepositoryURL: "https://github.com/rivy-go/git-changelog", 17 }, 18 Options: &Options{ 19 CommitFilters: map[string][]string{ 20 "Type": []string{ 21 "feat", 22 "fix", 23 }, 24 }, 25 CommitSortBy: "Scope", 26 CommitGroupBy: "Type", 27 CommitGroupSortBy: "Title", 28 CommitGroupTitleMaps: map[string]string{ 29 "feat": "Features", 30 "fix": "Bug Fixes", 31 }, 32 HeaderPattern: "^(\\w*)(?:\\(([\\w\\$\\.\\-\\*\\s]*)\\))?\\:\\s(.*)$", 33 HeaderPatternMaps: []string{ 34 "Type", 35 "Scope", 36 "Subject", 37 }, 38 IssuePrefix: []string{ 39 "#", 40 "gh-", 41 }, 42 RefActions: []string{}, 43 MergePattern: "^Merge pull request #(\\d+) from (.*)$", 44 MergePatternMaps: []string{ 45 "Ref", 46 "Source", 47 }, 48 RevertPattern: "^Revert \"([\\s\\S]*)\"$", 49 RevertPatternMaps: []string{ 50 "Header", 51 }, 52 NoteKeywords: []string{ 53 "BREAKING CHANGE", 54 }, 55 }, 56 }) 57 58 buf := &bytes.Buffer{} 59 err := gen.Generate(buf, "") 60 61 if err != nil { 62 log.Fatalln(err) 63 } 64 65 fmt.Println(buf.String()) 66 }