Topdata wiki alignment links

This commit is contained in:
2026-05-25 10:31:07 +02:00
parent 7714c068fe
commit a646c905e4
7 changed files with 126 additions and 68 deletions
+13 -2
View File
@@ -367,7 +367,7 @@ func joinWikiTemplateValue(value any, sep string) string {
}
}
func (ctx *wikiContext) formatWikiTemplateAlignments(value any) (string, error) {
func (ctx *wikiContext) formatWikiTemplateAlignments(value any) (any, error) {
values, err := wikiTemplateAlignmentValues(value)
if err != nil {
return "", err
@@ -389,13 +389,21 @@ func (ctx *wikiContext) formatWikiTemplateAlignments(value any) (string, error)
if len(labels) == 0 {
return "Any", nil
}
return strings.Join(labels, ", "), nil
rendered := strings.Join(labels, ", ")
if ctx != nil && strings.TrimSpace(ctx.alignmentLinkFormat) == "html_anchor" {
return wikiTemplateHTML(rendered), nil
}
return rendered, nil
}
func (ctx *wikiContext) renderWikiTemplateAlignmentLabel(label string) string {
pattern := ""
format := "wiki_markup"
if ctx != nil {
pattern = strings.TrimSpace(ctx.alignmentLinkPattern)
if strings.TrimSpace(ctx.alignmentLinkFormat) != "" {
format = strings.TrimSpace(ctx.alignmentLinkFormat)
}
}
if pattern == "" {
return label
@@ -405,6 +413,9 @@ func (ctx *wikiContext) renderWikiTemplateAlignmentLabel(label string) string {
if strings.TrimSpace(target) == "" {
return label
}
if format == "html_anchor" {
return `<a class="wiki-internal-link" href="` + html.EscapeString(target) + `">` + html.EscapeString(label) + `</a>`
}
return "[[" + target + "|" + label + "]]"
}