🎨 The backlink panel no longer displays breadcrumbs of the first-level blocks https://github.com/siyuan-note/siyuan/issues/12862

This commit is contained in:
Daniel 2024-10-21 20:11:50 +08:00
parent dd256bbaec
commit df52d35efa
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
3 changed files with 11 additions and 5 deletions

View file

@ -171,10 +171,10 @@ func buildBacklink(refID string, refTree *parse.Tree, keywords []string, luteEng
dom := renderBlockDOMByNodes(renderNodes, luteEngine)
blockPaths := []*BlockPath{}
if nil != n.Parent && nil != n.Parent.Parent {
if nil != n.Parent && ast.NodeDocument != n.Parent.Type && nil != n.Parent.Parent && ast.NodeDocument != n.Parent.Parent.Type {
// 仅在多余一层时才显示面包屑,这样界面展示更加简洁
// The backlink panel no longer displays breadcrumbs of the first-level blocks https://github.com/siyuan-note/siyuan/issues/12862
blockPaths = buildBlockBreadcrumb(n, nil)
blockPaths = buildBlockBreadcrumb(n, nil, false)
}
ret = &Backlink{DOM: dom, BlockPaths: blockPaths, Expand: expand}
return

View file

@ -887,7 +887,7 @@ func getEmbeddedBlock(trees map[string]*parse.Tree, sqlBlock *sql.Block, heading
}
if breadcrumb {
blockPaths = buildBlockBreadcrumb(def, nil)
blockPaths = buildBlockBreadcrumb(def, nil, true)
}
if 1 > len(blockPaths) {
blockPaths = []*BlockPath{}

View file

@ -416,11 +416,11 @@ func BuildBlockBreadcrumb(id string, excludeTypes []string) (ret []*BlockPath, e
return
}
ret = buildBlockBreadcrumb(node, excludeTypes)
ret = buildBlockBreadcrumb(node, excludeTypes, true)
return
}
func buildBlockBreadcrumb(node *ast.Node, excludeTypes []string) (ret []*BlockPath) {
func buildBlockBreadcrumb(node *ast.Node, excludeTypes []string, displayCurrentNodeContent bool) (ret []*BlockPath) {
ret = []*BlockPath{}
if nil == node {
return
@ -480,6 +480,12 @@ func buildBlockBreadcrumb(node *ast.Node, excludeTypes []string) (ret []*BlockPa
name = strings.ReplaceAll(name, editor.Caret, "")
name = util.EscapeHTML(name)
if parent == node && !displayCurrentNodeContent {
// 反链中不显示当前块内容 https://github.com/siyuan-note/siyuan/issues/12862#issuecomment-2426406327
name = ""
}
if add {
ret = append([]*BlockPath{{
ID: id,