package docs import ( "html/template" "strings" ) func renderPage(h *Handler, p *Page) string { tpl, err := template.New("doc").Parse(h.tpl) if err != nil { return "errortemplate error: " + template.HTMLEscapeString(err.Error()) } var sb strings.Builder data := map[string]any{ "Manifest": h.manifest, "Page": p, "TOC": p.TOC, "Content": template.HTML(p.HTML), //nolint:gosec —— 内容为内置受信 Markdown } if err := tpl.Execute(&sb, data); err != nil { return "errorrender error: " + template.HTMLEscapeString(err.Error()) } return sb.String() }