+2
appview/pages/markup/markdown.go
+2
appview/pages/markup/markdown.go
···
11
11
12
12
chromahtml "github.com/alecthomas/chroma/v2/formatters/html"
13
13
"github.com/alecthomas/chroma/v2/styles"
14
+
treeblood "github.com/wyatt915/goldmark-treeblood"
14
15
"github.com/yuin/goldmark"
15
16
highlighting "github.com/yuin/goldmark-highlighting/v2"
16
17
"github.com/yuin/goldmark/ast"
···
59
60
extension.NewFootnote(
60
61
extension.WithFootnoteIDPrefix([]byte("footnote")),
61
62
),
63
+
treeblood.MathML(),
62
64
),
63
65
goldmark.WithParserOptions(
64
66
parser.WithAutoHeadingID(),
+17
appview/pages/markup/sanitizer.go
+17
appview/pages/markup/sanitizer.go
···
97
97
"margin-bottom",
98
98
)
99
99
100
+
// math
101
+
mathAttrs := []string{
102
+
"accent", "columnalign", "columnlines", "columnspan", "dir", "display",
103
+
"displaystyle", "encoding", "fence", "form", "largeop", "linebreak",
104
+
"linethickness", "lspace", "mathcolor", "mathsize", "mathvariant", "minsize",
105
+
"movablelimits", "notation", "rowalign", "rspace", "rowspacing", "rowspan",
106
+
"scriptlevel", "stretchy", "symmetric", "title", "voffset", "width",
107
+
}
108
+
mathElements := []string{
109
+
"annotation", "math", "menclose", "merror", "mfrac", "mi", "mmultiscripts",
110
+
"mn", "mo", "mover", "mpadded", "mprescripts", "mroot", "mrow", "mspace",
111
+
"msqrt", "mstyle", "msub", "msubsup", "msup", "mtable", "mtd", "mtext",
112
+
"mtr", "munder", "munderover", "semantics",
113
+
}
114
+
policy.AllowNoAttrs().OnElements(mathElements...)
115
+
policy.AllowAttrs(mathAttrs...).OnElements(mathElements...)
116
+
100
117
return policy
101
118
}
102
119
+3
-1
go.mod
+3
-1
go.mod
···
39
39
github.com/stretchr/testify v1.10.0
40
40
github.com/urfave/cli/v3 v3.3.3
41
41
github.com/whyrusleeping/cbor-gen v0.3.1
42
-
github.com/yuin/goldmark v1.4.15
42
+
github.com/wyatt915/goldmark-treeblood v0.0.0-20250825231212-5dcbdb2f4b57
43
+
github.com/yuin/goldmark v1.7.12
43
44
github.com/yuin/goldmark-highlighting/v2 v2.0.0-20230729083705-37449abec8cc
44
45
golang.org/x/crypto v0.40.0
45
46
golang.org/x/net v0.42.0
···
154
155
github.com/vmihailenco/go-tinylfu v0.2.2 // indirect
155
156
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
156
157
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
158
+
github.com/wyatt915/treeblood v0.1.15 // indirect
157
159
gitlab.com/yawning/secp256k1-voi v0.0.0-20230925100816-f2616030848b // indirect
158
160
gitlab.com/yawning/tuplehash v0.0.0-20230713102510-df83abbf9a02 // indirect
159
161
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
+6
-1
go.sum
+6
-1
go.sum
···
426
426
github.com/warpfork/go-wish v0.0.0-20220906213052-39a1cc7a02d0/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw=
427
427
github.com/whyrusleeping/cbor-gen v0.3.1 h1:82ioxmhEYut7LBVGhGq8xoRkXPLElVuh5mV67AFfdv0=
428
428
github.com/whyrusleeping/cbor-gen v0.3.1/go.mod h1:pM99HXyEbSQHcosHc0iW7YFmwnscr+t9Te4ibko05so=
429
+
github.com/wyatt915/goldmark-treeblood v0.0.0-20250825231212-5dcbdb2f4b57 h1:UqtQdzLXnvdBdqn/go53qGyncw1wJ7Mq5SQdieM1/Ew=
430
+
github.com/wyatt915/goldmark-treeblood v0.0.0-20250825231212-5dcbdb2f4b57/go.mod h1:BxSCWByWSRSuembL3cDG1IBUbkBoO/oW/6tF19aA4hs=
431
+
github.com/wyatt915/treeblood v0.1.15 h1:3KZ3o2LpcKZAzOLqMoW9qeUzKEaKArKpbcPpTkNfQC8=
432
+
github.com/wyatt915/treeblood v0.1.15/go.mod h1:i7+yhhmzdDP17/97pIsOSffw74EK/xk+qJ0029cSXUY=
429
433
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
430
434
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
431
435
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
432
436
github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
433
437
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
434
-
github.com/yuin/goldmark v1.4.15 h1:CFa84T0goNn/UIXYS+dmjjVxMyTAvpOmzld40N/nfK0=
435
438
github.com/yuin/goldmark v1.4.15/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
439
+
github.com/yuin/goldmark v1.7.12 h1:YwGP/rrea2/CnCtUHgjuolG/PnMxdQtPMO5PvaE2/nY=
440
+
github.com/yuin/goldmark v1.7.12/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg=
436
441
github.com/yuin/goldmark-highlighting/v2 v2.0.0-20230729083705-37449abec8cc h1:+IAOyRda+RLrxa1WC7umKOZRsGq4QrFFMYApOeHzQwQ=
437
442
github.com/yuin/goldmark-highlighting/v2 v2.0.0-20230729083705-37449abec8cc/go.mod h1:ovIvrum6DQJA4QsJSovrkC4saKHQVs7TvcaeO8AIl5I=
438
443
gitlab.com/yawning/secp256k1-voi v0.0.0-20230925100816-f2616030848b h1:CzigHMRySiX3drau9C6Q5CAbNIApmLdat5jPMqChvDA=