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