diff wdown.go @ 7:a5aa39557726

Add parsing of YAML frontmatter
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 17 Jun 2020 12:23:56 +0200
parents a5f397e25cb7
children 4a25b534c81c 1ffe6e4f933c
line wrap: on
line diff
--- a/wdown.go	Tue Jun 16 22:10:31 2020 +0200
+++ b/wdown.go	Wed Jun 17 12:23:56 2020 +0200
@@ -11,6 +11,7 @@
 	"github.com/cbroglie/mustache"
 	"github.com/yuin/goldmark"
 	highlighting "github.com/yuin/goldmark-highlighting"
+	meta "github.com/yuin/goldmark-meta"
 	"github.com/yuin/goldmark/extension"
 	"github.com/yuin/goldmark/parser"
 )
@@ -47,6 +48,7 @@
 		goldmark.WithExtensions(
 			extension.GFM,
 			highlighting.Highlighting,
+			meta.Meta,
 		),
 		goldmark.WithParserOptions(
 			parser.WithAutoHeadingID(),
@@ -54,16 +56,17 @@
 	)
 
 	var htmlContent bytes.Buffer
-	err = md.Convert(source, &htmlContent)
+	parserContext := parser.NewContext()
+	err = md.Convert(source, &htmlContent, parser.WithContext(parserContext))
 	if err != nil {
 		log.Fatal(err)
 	}
 
 	if useTemplate {
-		context := map[string]string{
-			"content": htmlContent.String(),
-		}
-		err := tmpl.FRender(os.Stdout, context)
+		templateVars := meta.Get(parserContext)
+		templateVars["content"] = htmlContent.String()
+
+		err := tmpl.FRender(os.Stdout, templateVars)
 		if err != nil {
 			log.Fatal(err)
 		}