From b552c037365b1fa6f9c52da6e513bd8a1b98bb24 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Fri, 30 Sep 2022 17:19:27 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E7=BC=96=E8=BE=91=E5=99=A8?= =?UTF-8?q?=E5=BC=8F=E5=8F=8D=E9=93=BE=E9=9D=A2=E6=9D=BF=20https://github.?= =?UTF-8?q?com/siyuan-note/siyuan/issues/3565?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/backlink.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/kernel/model/backlink.go b/kernel/model/backlink.go index 809eaa1c6..455028a2f 100644 --- a/kernel/model/backlink.go +++ b/kernel/model/backlink.go @@ -26,7 +26,6 @@ import ( "strings" "github.com/88250/gulu" - "github.com/88250/lute" "github.com/88250/lute/ast" "github.com/88250/lute/parse" "github.com/emirpasic/gods/sets/hashset" @@ -287,6 +286,7 @@ func GetBacklinkDoc(defID, refTreeID string) (ret []*Backlink) { continue } + var renderNodes []*ast.Node expand := true if ast.NodeListItem == n.Type { if nil == n.FirstChild { @@ -307,6 +307,8 @@ func GetBacklinkDoc(defID, refTreeID string) (ret []*Backlink) { break } } + + renderNodes = append(renderNodes, n) } else if ast.NodeHeading == n.Type { c := n.FirstChild if nil == c { @@ -322,9 +324,15 @@ func GetBacklinkDoc(defID, refTreeID string) (ret []*Backlink) { break } } + + renderNodes = append(renderNodes, n) + cc := treenode.HeadingChildren(n) + renderNodes = append(renderNodes, cc...) + } else { + renderNodes = append(renderNodes, n) } - dom := lute.RenderNodeBlockDOM(n, luteEngine.ParseOptions, luteEngine.RenderOptions) + dom := renderBlockDOMByNodes(renderNodes, luteEngine) ret = append(ret, &Backlink{ DOM: dom, BlockPaths: buildBlockBreadcrumb(n),