@ 547c21bbb8ed4279f4bbd6b96bf5b8c64c8313bc | 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
}