docshelper.go (723B)
1 package helpers
2
3 import (
4 "sort"
5
6 "github.com/alecthomas/chroma/v2/lexers"
7 "github.com/gohugoio/hugo/docshelper"
8 )
9
10 // This is is just some helpers used to create some JSON used in the Hugo docs.
11 func init() {
12 docsProvider := func() docshelper.DocProvider {
13 var chromaLexers []any
14
15 sort.Sort(lexers.GlobalLexerRegistry.Lexers)
16
17 for _, l := range lexers.GlobalLexerRegistry.Lexers {
18
19 config := l.Config()
20
21 lexerEntry := struct {
22 Name string
23 Aliases []string
24 }{
25 config.Name,
26 config.Aliases,
27 }
28
29 chromaLexers = append(chromaLexers, lexerEntry)
30
31 }
32
33 return docshelper.DocProvider{"chroma": map[string]any{"lexers": chromaLexers}}
34 }
35
36 docshelper.AddDocProviderFunc(docsProvider)
37 }