diff options
| author | a73x <[email protected]> | 2024-09-29 10:09:46 +0100 |
|---|---|---|
| committer | a73x <[email protected]> | 2024-09-29 10:09:46 +0100 |
| commit | bddebada1aeee5eb87ff4e52a0b7bdf9c966f912 (patch) | |
| tree | f74b403957febe52faa261aad2ca80c0ff46be20 /html | |
| parent | 917043de43777fc1429e23ced7cf9d179cbcf61f (diff) | |
feat(web): made toc optional
Diffstat (limited to 'html')
| -rw-r--r-- | html/highlight.go | 14 | ||||
| -rw-r--r-- | html/html.go | 4 |
2 files changed, 14 insertions, 4 deletions
diff --git a/html/highlight.go b/html/highlight.go index 087e043..d198ad0 100644 --- a/html/highlight.go +++ b/html/highlight.go @@ -52,7 +52,11 @@ func (h Highlighter) myRenderHook(w io.Writer, node ast.Node, entering bool) (as return ast.GoToNext, false } -func newRenderer() *mdhtml.Renderer { +type opts struct { +} + +func newRenderer(hasToc bool) *mdhtml.Renderer { + htmlFormatter := html.New(html.WithClasses(true), html.TabWidth(2)) styleName := "monokailight" @@ -62,8 +66,14 @@ func newRenderer() *mdhtml.Renderer { htmlFormatter: htmlFormatter, highlightStyle: highlightStyle, } + + flags := mdhtml.CommonFlags | mdhtml.FootnoteReturnLinks + if hasToc { + flags = flags | mdhtml.TOC + } + opts := mdhtml.RendererOptions{ - Flags: mdhtml.CommonFlags | mdhtml.TOC | mdhtml.FootnoteReturnLinks, + Flags: flags, RenderNodeHook: h.myRenderHook, } return mdhtml.NewRenderer(opts) diff --git a/html/html.go b/html/html.go index 6b8d071..40a6ad5 100644 --- a/html/html.go +++ b/html/html.go @@ -5,10 +5,10 @@ import ( "github.com/gomarkdown/markdown/parser" ) -func MDToHTML(md []byte) []byte { +func MDToHTML(md []byte, hasToc bool) []byte { extensions := parser.CommonExtensions | parser.AutoHeadingIDs | parser.NoEmptyLineBeforeBlock | parser.Footnotes p := parser.NewWithExtensions(extensions) - renderer := newRenderer() + renderer := newRenderer(hasToc) return markdown.ToHTML(md, p, renderer) } |
