use gitweb/gitolite directory layout (including subdirs)
1 file changed, 12 insertions(+), 5 deletions(-)
changed files
M templates/page.go → templates/page.go
@@ -1,6 +1,8 @@ package templates import ( + "strings" + "go.alanpearce.eu/elgit/config" "go.alanpearce.eu/elgit/git" g "go.alanpearce.eu/gomponents"@@ -71,12 +73,12 @@ func RenderNav(data PageData) g.Node { var items []g.Node if data.Name != "" { - items = append(items, Li(A(Href("/"+data.Name), g.Text("summary")))) - items = append(items, Li(A(Href("/"+data.Name+"/refs"), g.Text("refs")))) + items = append(items, Li(A(Href(joinPaths(data.Name)), g.Text("summary")))) + items = append(items, Li(A(Href(joinPaths(data.Name, "refs", "")), g.Text("refs")))) if data.Ref != "" { - items = append(items, Li(A(Href("/"+data.Name+"/tree/"+data.Ref+"/"), g.Text("tree")))) - items = append(items, Li(A(Href("/"+data.Name+"/log/"+data.Ref), g.Text("log")))) + items = append(items, Li(A(Href(joinPaths(data.Name, "tree", data.Ref, "")), g.Text("tree")))) + items = append(items, Li(A(Href(joinPaths(data.Name, "log", data.Ref)), g.Text("log")))) } }@@ -90,7 +92,8 @@ A( Href("/"), g.Text("all repos"), ), - g.Textf(" — %s", data.DisplayName), + g.Text(" — "), + g.Text(data.DisplayName), g.Text(" "), g.If(data.Ref != "", Span(Class("ref"), g.Textf("@ %s", data.Ref))), ),@@ -105,3 +108,7 @@ Head: RenderHead(data), Body: body, }) } + +func joinPaths(paths ...string) string { + return "/" + strings.Join(paths, "/") +}