Commit aedcf3c
Eric Bower
·
2025-03-23 23:23:14 -0400 EDT
parent ec17d58
chore: comments and cleanup
M
Makefile
+8,
-0
| ... | ... | @@ -21,6 +21,14 @@ fmt: | |
| 21 | 21 | go fmt ./... | |
| 22 | 22 | .PHONY: fmt | |
| 23 | 23 | ||
| 24 | + | lint: | |
| 25 | + | golangci-lint run -E goimports -E godot --timeout 10m | |
| 26 | + | .PHONY: lint | |
| 27 | + | ||
| 28 | + | test: | |
| 29 | + | go test ./... | |
| 30 | + | .PHONY: test | |
| 31 | + | ||
| 24 | 32 | static: build clean | |
| 25 | 33 | ./pgit \ | |
| 26 | 34 | --out ./public \ |
M
main.go
+14,
-11
| ... | ... | @@ -75,7 +75,6 @@ type RevInfo interface { | |
| 75 | 75 | Name() string | |
| 76 | 76 | } | |
| 77 | 77 | ||
| 78 | - | // revision data | |
| 79 | 78 | type RevData struct { | |
| 80 | 79 | id string | |
| 81 | 80 | name string |
| ... | ... | @@ -239,7 +238,7 @@ func diffFileType(_type git.DiffFileType) string { | |
| 239 | 238 | return "" | |
| 240 | 239 | } | |
| 241 | 240 | ||
| 242 | - | // converts contents of files in git tree to pretty formatted code | |
| 241 | + | // converts contents of files in git tree to pretty formatted code. | |
| 243 | 242 | func (c *Config) parseText(filename string, text string) (string, error) { | |
| 244 | 243 | lexer := lexers.Match(filename) | |
| 245 | 244 | if lexer == nil { |
| ... | ... | @@ -344,7 +343,8 @@ func (c *Config) copyStatic(dir string) error { | |
| 344 | 343 | bail(err) | |
| 345 | 344 | fp := filepath.Join(c.Outdir, e.Name()) | |
| 346 | 345 | c.Logger.Info("writing", "filepath", fp) | |
| 347 | - | os.WriteFile(fp, w, 0644) | |
| 346 | + | err = os.WriteFile(fp, w, 0644) | |
| 347 | + | bail(err) | |
| 348 | 348 | } | |
| 349 | 349 | ||
| 350 | 350 | return nil |
| ... | ... | @@ -522,8 +522,8 @@ func (c *Config) getRefsURL() template.URL { | |
| 522 | 522 | } | |
| 523 | 523 | ||
| 524 | 524 | // controls the url for trees and logs | |
| 525 | - | // /logs/getRevIDForURL()/index.html | |
| 526 | - | // /tree/getRevIDForURL()/item/file.x.html | |
| 525 | + | // - /logs/getRevIDForURL()/index.html | |
| 526 | + | // - /tree/getRevIDForURL()/item/file.x.html. | |
| 527 | 527 | func getRevIDForURL(info RevInfo) string { | |
| 528 | 528 | return info.Name() | |
| 529 | 529 | } |
| ... | ... | @@ -625,7 +625,6 @@ func (c *Config) writeRepo() *BranchOutput { | |
| 625 | 625 | } | |
| 626 | 626 | ||
| 627 | 627 | refInfoMap := map[string]*RefInfo{} | |
| 628 | - | mainOutput := &BranchOutput{} | |
| 629 | 628 | for _, revData := range revs { | |
| 630 | 629 | refInfoMap[revData.Name()] = &RefInfo{ | |
| 631 | 630 | ID: revData.ID(), |
| ... | ... | @@ -664,6 +663,9 @@ func (c *Config) writeRepo() *BranchOutput { | |
| 664 | 663 | return urlI > urlJ | |
| 665 | 664 | }) | |
| 666 | 665 | ||
| 666 | + | // we assume the first revision in the list is the "main" revision which mostly | |
| 667 | + | // means that's the README we use for the default summary page. | |
| 668 | + | mainOutput := &BranchOutput{} | |
| 667 | 669 | var wg sync.WaitGroup | |
| 668 | 670 | for i, revData := range revs { | |
| 669 | 671 | c.Logger.Info("writing revision", "revision", revData.Name()) |
| ... | ... | @@ -758,7 +760,7 @@ func (tw *TreeWalker) calcBreadcrumbs(curpath string) []*Breadcrumb { | |
| 758 | 760 | return crumbs | |
| 759 | 761 | } | |
| 760 | 762 | ||
| 761 | - | func FilenameToDevIcon(filename string) string { | |
| 763 | + | func filenameToDevIcon(filename string) string { | |
| 762 | 764 | ext := filepath.Ext(filename) | |
| 763 | 765 | extMappr := map[string]string{ | |
| 764 | 766 | ".html": "html5", |
| ... | ... | @@ -831,7 +833,7 @@ func (tw *TreeWalker) NewTreeItem(entry *git.TreeEntry, curpath string, crumbs [ | |
| 831 | 833 | "index.html", | |
| 832 | 834 | ) | |
| 833 | 835 | } else if typ == git.ObjectBlob { | |
| 834 | - | item.Icon = FilenameToDevIcon(item.Name) | |
| 836 | + | item.Icon = filenameToDevIcon(item.Name) | |
| 835 | 837 | } | |
| 836 | 838 | item.URL = fpath | |
| 837 | 839 |
| ... | ... | @@ -1056,8 +1058,8 @@ func main() { | |
| 1056 | 1058 | var revsFlag = flag.String("revs", "HEAD", "list of revs to generate logs and tree (e.g. main,v1,c69f86f,HEAD)") | |
| 1057 | 1059 | var themeFlag = flag.String("theme", "dracula", "theme to use for site") | |
| 1058 | 1060 | var labelFlag = flag.String("label", "", "pretty name for the subdir where we create the repo, default is last folder in --repo") | |
| 1059 | - | var cloneFlag = flag.String("clone-url", "", "git clone URL") | |
| 1060 | - | var homeFlag = flag.String("home-url", "", "URL for breadcumbs to get to list of repositories") | |
| 1061 | + | var cloneFlag = flag.String("clone-url", "", "git clone URL for upstream") | |
| 1062 | + | var homeFlag = flag.String("home-url", "", "URL for breadcumbs to go to root page, hidden if empty") | |
| 1061 | 1063 | var descFlag = flag.String("desc", "", "description for repo") | |
| 1062 | 1064 | var rootRelativeFlag = flag.String("root-relative", "/", "html root relative") | |
| 1063 | 1065 | var maxCommitsFlag = flag.Int("max-commits", 0, "maximum number of commits to generate") |