From fd2f3c4328985554b5b87e9c083ab3231f334076 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Tue, 24 Jan 2023 16:24:15 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E6=94=B9=E8=BF=9B=E5=AF=BC=E5=85=A5=20?= =?UTF-8?q?Markdown=20=E6=96=87=E4=BB=B6=E6=97=B6=E8=A7=A3=E6=9E=90=20HTML?= =?UTF-8?q?=20=E5=9D=97=20Fix=20https://github.com/siyuan-note/siyuan/issu?= =?UTF-8?q?es/7137?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/box.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/kernel/model/box.go b/kernel/model/box.go index ce1cbc131..121fd4f3e 100644 --- a/kernel/model/box.go +++ b/kernel/model/box.go @@ -467,6 +467,23 @@ func genTreeID(tree *parse.Tree) { n.ID = n.IALAttr("id") } + if ast.NodeHTMLBlock == n.Type { + tokens := bytes.TrimSpace(n.Tokens) + if !bytes.HasPrefix(tokens, []byte("
")) { + tokens = []byte("
\n" + string(tokens)) + } + if !bytes.HasSuffix(tokens, []byte("
")) { + tokens = append(tokens, []byte("\n
")...) + } + n.Tokens = tokens + return ast.WalkContinue + } + + if ast.NodeInlineHTML == n.Type { + n.Type = ast.NodeText + return ast.WalkContinue + } + if ast.NodeParagraph == n.Type && nil != n.FirstChild && ast.NodeTaskListItemMarker == n.FirstChild.Type { // 踢掉任务列表的第一个子节点左侧空格 n.FirstChild.Next.Tokens = bytes.TrimLeft(n.FirstChild.Next.Tokens, " ")