diff --git a/gitssg.go b/gitssg.go index f70b546..2e75034 100644 --- a/gitssg.go +++ b/gitssg.go @@ -27,12 +27,12 @@ type RepoDir struct { // ToDo: replace has* with the filename, as it can be bare or .md type RepoInfo struct { - Name string - Description string - Url string - Readme string - License string - Contributing string + Name string + Description string + Url string + HasReadme bool + HasLicense bool + HasContributing bool } type CommitFile struct { @@ -69,9 +69,6 @@ type CommitInfo struct { var embedTmpl embed.FS var timeShortFormatStr = "2006-01-02 15:04" var timeLongFormatStr = time.RFC1123 -var readmeNames = []string{"README", "README.md", "README.txt"} -var licenseNames = []string{"LICENSE", "LICENSE.txt"} -var contributingNames = []string{"CONTRIBUTING", "CONTRIBUTING.txt"} var funcMap = template.FuncMap{ "inc": func(i int) int { return i + 1 @@ -81,16 +78,16 @@ var funcMap = template.FuncMap{ menu += " | Files" menu += " | Refs" - if repoInfo.Readme != "" { - menu += " | README" + if repoInfo.HasReadme { + menu += "| README" } - if repoInfo.License != "" { - menu += " | LICENSE" + if repoInfo.HasLicense { + menu += "| LICENSE" } - if repoInfo.Contributing != "" { - menu += " | CONTRIBUTING" + if repoInfo.HasContributing { + menu += "| CONTRIBUTING" } return template.HTML(menu) @@ -274,27 +271,7 @@ func generateRepo(path string, logLimit int) error { return fmt.Errorf("cannot get commit for hash %s: %w", head.Hash(), err) } - // populate Readme, License and Contributing - for _, name := range readmeNames { - if _, err := c.File(name); err == nil { - repoInfo.Readme = name - break - } - } - - for _, name := range licenseNames { - if _, err := c.File(name); err == nil { - repoInfo.License = name - break - } - } - - for _, name := range contributingNames { - if _, err := c.File(name); err == nil { - repoInfo.Contributing = name - break - } - } + // ToDo: populate hasReadme, hasLicense and hasContributing tree, err := c.Tree() if err != nil { @@ -385,7 +362,7 @@ func generateRepo(path string, logLimit int) error { slog.Debug("Processing commit", "hash", c.Hash) - if logLimit != 0 && i > logLimit { + if i > logLimit { remaining++ slog.Debug("Limit reached while processing log", "iteration", i, "remaining", remaining) continue