Skip to content

Commit 6d3adfc

Browse files
committedJan 6, 2025
Added MarkDown rendering support
1 parent 5ba3352 commit 6d3adfc

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed
 

‎go.mod

+1
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ require (
124124
github.com/gabriel-vasile/mimetype v1.4.7 // indirect
125125
github.com/goccy/go-json v0.10.4 // indirect
126126
github.com/godbus/dbus/v5 v5.1.0 // indirect
127+
github.com/gomarkdown/markdown v0.0.0-20241205020045-f7e15b2f3e62 // indirect
127128
github.com/google/deck v0.0.0-20230104221208-105ad94aa8ae // indirect
128129
github.com/google/pprof v0.0.0-20240227163752-401108e1b7e7 // indirect
129130
github.com/hashicorp/errwrap v1.1.0 // indirect

‎go.sum

+2
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,8 @@ github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrU
149149
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
150150
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
151151
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
152+
github.com/gomarkdown/markdown v0.0.0-20241205020045-f7e15b2f3e62 h1:pbAFUZisjG4s6sxvRJvf2N7vhpCvx2Oxb3PmS6pDO1g=
153+
github.com/gomarkdown/markdown v0.0.0-20241205020045-f7e15b2f3e62/go.mod h1:JDGcbDT52eL4fju3sZ4TeHGsQwhG9nbDV21aMyhwPoA=
152154
github.com/google/aukera v0.0.0-20201117230544-d145c8357fea/go.mod h1:oXqTZORBzdwQ6L32YjJmaPajqIV/hoGEouwpFMf4cJE=
153155
github.com/google/cabbie v1.0.2/go.mod h1:6MmHaUrgfabehCHAIaxdrbmvHSxUVXj3Abs08FMABSo=
154156
github.com/google/cabbie v1.0.5 h1:j+JWBiMpzJCTkVLKrzsNBQLkRff55sjzXc0AQOTV2JU=

‎modules/frontend/webservice.go

+15
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ import (
1717
"time"
1818

1919
"github.com/gin-gonic/gin"
20+
"github.com/gomarkdown/markdown"
21+
"github.com/gomarkdown/markdown/html"
22+
"github.com/gomarkdown/markdown/parser"
2023
jsoniter "github.com/json-iterator/go"
2124
"github.com/lkarlslund/adalanche/modules/engine"
2225
"github.com/lkarlslund/adalanche/modules/ui"
@@ -280,7 +283,19 @@ func (ws *WebService) ServeTemplate(c *gin.Context, path string, data any) {
280283
}
281284

282285
func serveMarkDown(r io.Reader, ctx *gin.Context) {
286+
md, _ := io.ReadAll(r)
283287

288+
extensions := parser.CommonExtensions | parser.AutoHeadingIDs | parser.NoEmptyLineBeforeBlock
289+
p := parser.NewWithExtensions(extensions)
290+
doc := p.Parse(md)
291+
292+
// create HTML renderer with extensions
293+
htmlFlags := html.CommonFlags | html.HrefTargetBlank
294+
opts := html.RendererOptions{Flags: htmlFlags}
295+
renderer := html.NewRenderer(opts)
296+
297+
ctx.Status(200)
298+
ctx.Writer.Write(markdown.Render(doc, renderer))
284299
}
285300

286301
func serveTemplate(r io.Reader, ctx *gin.Context, data any) {

0 commit comments

Comments
 (0)
Please sign in to comment.