bidet / internal / handlers / formatting.go

@ e8fb0cb9983fb3d6d17b77afaa74beabc7656ca5 | history


package handlers

import (
	"path"
	"slices"
)

func fmtAuthor(name string, email string) string {
	return name + " <" + email + ">"
}

type crumb struct {
	Name string
	URL  string
}

func breadcrumbs(repoName string, refLabel string, p string) []crumb {
	var crumbs []crumb
	cur := p
	for {
		base := path.Base(cur)
		if base == "." || base == "/" {
			break
		}
		crumbs = append(crumbs, crumb{
			Name: base,
			URL:  path.Join(repoName, "tree", refLabel, cur),
		})
		next := path.Dir(cur)
		if next == cur {
			break
		}
		cur = next
	}
	slices.Reverse(crumbs)
	return crumbs
}