浏览代码

Disable lists in goldmark when parsing discord markdown

Tulir Asokan 2 年之前
父节点
当前提交
2cb83aeee9
共有 3 个文件被更改,包括 10 次插入5 次删除
  1. 7 2
      formatter.go
  2. 1 1
      go.mod
  3. 2 2
      go.sum

+ 7 - 2
formatter.go

@@ -22,21 +22,26 @@ import (
 	"strings"
 
 	"github.com/yuin/goldmark"
-	"maunium.net/go/mautrix/id"
+	"github.com/yuin/goldmark/parser"
 
 	"maunium.net/go/mautrix/event"
 	"maunium.net/go/mautrix/format"
 	"maunium.net/go/mautrix/format/mdext"
+	"maunium.net/go/mautrix/id"
 )
 
-var discordExtensions = goldmark.WithExtensions(mdext.EscapeHTML, mdext.SimpleSpoiler, mdext.DiscordUnderline)
+var discordExtensions = goldmark.WithExtensions(mdext.SimpleSpoiler, mdext.DiscordUnderline)
 var escapeFixer = regexp.MustCompile(`\\(__[^_]|\*\*[^*])`)
 
 func (portal *Portal) renderDiscordMarkdown(text string) event.MessageEventContent {
 	text = escapeFixer.ReplaceAllStringFunc(text, func(s string) string {
 		return s[:2] + `\` + s[2:]
 	})
+
 	mdRenderer := goldmark.New(
+		goldmark.WithParser(mdext.ParserWithoutFeatures(
+			parser.NewListParser(), parser.NewListItemParser(), parser.NewHTMLBlockParser(), parser.NewRawHTMLParser(),
+		)),
 		format.Extensions, format.HTMLOptions, discordExtensions,
 		goldmark.WithExtensions(&DiscordTag{portal}),
 	)

+ 1 - 1
go.mod

@@ -12,7 +12,7 @@ require (
 	github.com/stretchr/testify v1.8.1
 	github.com/yuin/goldmark v1.5.3
 	maunium.net/go/maulogger/v2 v2.3.2
-	maunium.net/go/mautrix v0.13.1-0.20230127204719-4c4238b61f20
+	maunium.net/go/mautrix v0.13.1-0.20230127212324-870a2cfb9406
 )
 
 require (

+ 2 - 2
go.sum

@@ -68,5 +68,5 @@ maunium.net/go/mauflag v1.0.0 h1:YiaRc0tEI3toYtJMRIfjP+jklH45uDHtT80nUamyD4M=
 maunium.net/go/mauflag v1.0.0/go.mod h1:nLivPOpTpHnpzEh8jEdSL9UqO9+/KBJFmNRlwKfkPeA=
 maunium.net/go/maulogger/v2 v2.3.2 h1:1XmIYmMd3PoQfp9J+PaHhpt80zpfmMqaShzUTC7FwY0=
 maunium.net/go/maulogger/v2 v2.3.2/go.mod h1:TYWy7wKwz/tIXTpsx8G3mZseIRiC5DoMxSZazOHy68A=
-maunium.net/go/mautrix v0.13.1-0.20230127204719-4c4238b61f20 h1:D2Z0tjf0za/rg9WxRJdV9M5BENK6d3LJaRtAfLpGfkk=
-maunium.net/go/mautrix v0.13.1-0.20230127204719-4c4238b61f20/go.mod h1:gYMQPsZ9lQpyKlVp+DGwOuc9LIcE/c8GZW2CvKHISgM=
+maunium.net/go/mautrix v0.13.1-0.20230127212324-870a2cfb9406 h1:b3RgrN/RYTW643k+DJfeaonTiOTK+Pxfg2sTEGzpFow=
+maunium.net/go/mautrix v0.13.1-0.20230127212324-870a2cfb9406/go.mod h1:gYMQPsZ9lQpyKlVp+DGwOuc9LIcE/c8GZW2CvKHISgM=