@ 04789f728342d5429f9f308edb4f0bc670338b70 | 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(urlType string, 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, urlType, refLabel, cur),
IsLast: last,
})
last = false
next := path.Dir(cur)
if next == cur {
break
}
cur = next
}
slices.Reverse(crumbs)
return crumbs
}