fix: show title (remove duplicate empty <title>)
1 file changed, 28 insertions(+), 25 deletions(-)
jump to
M templates/page.go → templates/page.go
@@ -34,34 +34,9 @@ Gomod bool } func RenderHead(data PageData) []g.Node { - var title string - metaTitle := data.Meta.Title - - switch { - case data.Parent != "": - title = fmt.Sprintf("%s — %s (%s): %s/", metaTitle, data.Name, data.Ref, data.Parent) - case data.Path != "": - title = fmt.Sprintf("%s — %s (%s): %s", metaTitle, data.Name, data.Ref, data.Path) - case data.Files != nil: - title = fmt.Sprintf("%s — %s (%s)", metaTitle, data.Name, data.Ref) - case data.Commit != nil: - title = fmt.Sprintf("%s — %s: %s", metaTitle, data.Name, data.Commit.This) - case data.Branches != nil: - title = fmt.Sprintf("%s — %s: refs", metaTitle, data.Name) - case data.Commits != nil: - if data.Log { - title = fmt.Sprintf("%s — %s: log", metaTitle, data.Name) - } else { - title = fmt.Sprintf("%s — %s", metaTitle, data.Name) - } - default: - title = metaTitle - } - return []g.Node{ Link(Rel("stylesheet"), Href("/static/style.css"), Type("text/css")), Link(Rel("icon"), Type("image/png"), g.Attr("sizes", "32x32"), Href("/static/elgit.png")), - TitleEl(g.Text(title)), g.If(data.Servername != "" && data.Gomod, Meta( Name("go-import"),@@ -98,6 +73,7 @@ func Page(data PageData, body []g.Node) g.Node { return c.HTML5(c.HTML5Props{ Language: "en", + Title: GenerateTitle(data), Head: RenderHead(data), Body: body, })@@ -106,3 +82,30 @@ func joinPaths(paths ...string) string { return "/" + strings.Join(paths, "/") } + +func GenerateTitle(data PageData) string { + metaTitle := data.Meta.Title + + switch { + case data.Parent != "": + return fmt.Sprintf("%s — %s (%s): %s/", metaTitle, data.Name, data.Ref, data.Parent) + case data.Path != "": + return fmt.Sprintf("%s — %s (%s): %s", metaTitle, data.Name, data.Ref, data.Path) + case data.Files != nil: + return fmt.Sprintf("%s — %s (%s)", metaTitle, data.Name, data.Ref) + case data.Commit != nil: + return fmt.Sprintf("%s — %s: %s", metaTitle, data.Name, data.Commit.This) + case data.Branches != nil: + return fmt.Sprintf("%s — %s: refs", metaTitle, data.Name) + case data.Commits != nil: + if data.Log { + return fmt.Sprintf("%s — %s: log", metaTitle, data.Name) + } else { + return fmt.Sprintf("%s — %s", metaTitle, data.Name) + } + case data.Name != "": + return fmt.Sprintf("%s — %s", metaTitle, data.Name) + default: + return metaTitle + } +}