From 64456022a6f8f4801bdd84cbe00e5e181cd1ae91 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Thu, 30 Nov 2023 12:19:42 -0300 Subject: [PATCH] the markdown parser is stateful, so it must be reinitialized every time. --- markdown.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/markdown.go b/markdown.go index 7ef5f8e..e174443 100644 --- a/markdown.go +++ b/markdown.go @@ -11,13 +11,6 @@ import ( "github.com/gomarkdown/markdown/parser" ) -var mdparser = parser.NewWithExtensions( - parser.CommonExtensions | - parser.AutoHeadingIDs | - parser.NoEmptyLineBeforeBlock | - parser.Footnotes, -) - var mdrenderer = html.NewRenderer(html.RendererOptions{ Flags: html.CommonFlags | html.HrefTargetBlank, }) @@ -62,7 +55,13 @@ func mdToHTML(md string, usingTelegramInstantView bool, skipLinks bool) string { md = replaceNostrURLsWithTags(nostrEveryMatcher, md) // create markdown parser with extensions - doc := mdparser.Parse([]byte(md)) + // this parser is stateful so it must be reinitialized every time + doc := parser.NewWithExtensions( + parser.CommonExtensions | + parser.AutoHeadingIDs | + parser.NoEmptyLineBeforeBlock | + parser.Footnotes, + ).Parse([]byte(md)) renderer := mdrenderer if usingTelegramInstantView {