@ e627440a1bc80b93c0b3cabede4f05680ad96ab9 | history
package handlers
import (
"path"
"slices"
)
func fmtAuthor(name string, email string) string {
return name + " <" + email + ">"
}
type crumb struct {
Name string
URL string
IsLast bool
}
func breadcrumbs(repoName string, refLabel string, p string) []crumb {
var crumbs []crumb
last := true
cur := p
for {
base := path.Base(cur)
if base == "." || base == "/" {
break
}
crumbs = append(crumbs, crumb{
Name: base,
URL: path.Join(repoName, "tree", refLabel, cur),
IsLast: last,
})
last = false
next := path.Dir(cur)
if next == cur {
break
}
cur = next
}
slices.Reverse(crumbs)
return crumbs
}