From dda2ca8aed86fc396165a682d85969130744e4ff Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Sat, 18 Jun 2022 22:44:38 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E5=85=A8=E5=B1=80=E5=85=B3=E7=B3=BB?= =?UTF-8?q?=E5=9B=BE=E4=B8=AD=E5=B0=86=E6=A0=87=E7=AD=BE=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=E5=88=B0=E6=96=87=E6=A1=A3=E5=9D=97=E4=B8=8A=20Fix=20https://g?= =?UTF-8?q?ithub.com/siyuan-note/siyuan/issues/5218?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/graph.go | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/kernel/model/graph.go b/kernel/model/graph.go index ba4339cfd..7ecfe2c1a 100644 --- a/kernel/model/graph.go +++ b/kernel/model/graph.go @@ -191,9 +191,10 @@ func linkTagBlocks(blocks *[]*Block, nodes *[]*GraphNode, links *[]*GraphLink, p return } - nodeSize := Conf.Graph.Local.NodeSize - if "" != p { - nodeSize = Conf.Graph.Global.NodeSize + isGlobal := "" == p + nodeSize := Conf.Graph.Global.NodeSize + if !isGlobal { + nodeSize = Conf.Graph.Local.NodeSize } // 构造标签节点 @@ -215,12 +216,22 @@ func linkTagBlocks(blocks *[]*Block, nodes *[]*GraphNode, links *[]*GraphLink, p // 连接标签和块 for _, block := range *blocks { for _, tagSpan := range tagSpans { - if block.ID == tagSpan.BlockID { - *links = append(*links, &GraphLink{ - From: tagSpan.Content, - To: block.ID, - Color: &GraphLinkColor{Color: style["--b3-graph-tag-line"]}, - }) + if isGlobal { // 全局关系图将标签链接到文档块上 + if block.RootID == tagSpan.RootID { // 局部关系图将标签链接到子块上 + *links = append(*links, &GraphLink{ + From: tagSpan.Content, + To: block.RootID, + Color: &GraphLinkColor{Color: style["--b3-graph-tag-line"]}, + }) + } + } else { + if block.ID == tagSpan.BlockID { // 局部关系图将标签链接到子块上 + *links = append(*links, &GraphLink{ + From: tagSpan.Content, + To: block.ID, + Color: &GraphLinkColor{Color: style["--b3-graph-tag-line"]}, + }) + } } } }