🎨 Improve the backlink panel breadcrumb and block sorting https://github.com/siyuan-note/siyuan/issues/13008

This commit is contained in:
Daniel 2024-11-04 17:46:10 +08:00
parent 6ac292ff01
commit f0a292ac51
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
3 changed files with 8 additions and 11 deletions

View file

@ -167,8 +167,8 @@ func GetBacklinkDoc(defID, refTreeID, keyword string, containChildren bool) (ret
func filterBlockPaths(blockLinks []*Backlink) { func filterBlockPaths(blockLinks []*Backlink) {
for _, b := range blockLinks { for _, b := range blockLinks {
if 1 == len(b.BlockPaths) && "NodeDocument" == b.BlockPaths[0].Type { if 2 == len(b.BlockPaths) {
// 如果只有根文档这一层则不显示 // 根下只有一层则不显示
b.BlockPaths = []*BlockPath{} b.BlockPaths = []*BlockPath{}
} }
} }
@ -246,10 +246,7 @@ func buildBacklink(refID string, refTree *parse.Tree, keywords []string, luteEng
dom := renderBlockDOMByNodes(renderNodes, luteEngine) dom := renderBlockDOMByNodes(renderNodes, luteEngine)
var blockPaths []*BlockPath var blockPaths []*BlockPath
if (nil != n.Parent && ast.NodeDocument != n.Parent.Type) || (ast.NodeHeading != n.Type && 0 < treenode.HeadingLevel(n)) { if (nil != n.Parent && ast.NodeDocument != n.Parent.Type) || (ast.NodeHeading != n.Type && 0 < treenode.HeadingLevel(n)) {
// 仅在多于一层时才显示面包屑,这样界面展示更加简洁 blockPaths = buildBlockBreadcrumb(n, nil)
// The backlink panel no longer displays breadcrumbs of the first-level blocks https://github.com/siyuan-note/siyuan/issues/12862
// Improve the backlink panel breadcrumb and block sorting https://github.com/siyuan-note/siyuan/issues/13008
blockPaths = buildBlockBreadcrumb(n, nil, false)
} }
if 1 > len(blockPaths) { if 1 > len(blockPaths) {
blockPaths = []*BlockPath{} blockPaths = []*BlockPath{}

View file

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

View file

@ -416,11 +416,11 @@ func BuildBlockBreadcrumb(id string, excludeTypes []string) (ret []*BlockPath, e
return return
} }
ret = buildBlockBreadcrumb(node, excludeTypes, true) ret = buildBlockBreadcrumb(node, excludeTypes)
return return
} }
func buildBlockBreadcrumb(node *ast.Node, excludeTypes []string, displayCurrentNode bool) (ret []*BlockPath) { func buildBlockBreadcrumb(node *ast.Node, excludeTypes []string) (ret []*BlockPath) {
ret = []*BlockPath{} ret = []*BlockPath{}
if nil == node { if nil == node {
return return
@ -481,8 +481,8 @@ func buildBlockBreadcrumb(node *ast.Node, excludeTypes []string, displayCurrentN
name = strings.ReplaceAll(name, editor.Caret, "") name = strings.ReplaceAll(name, editor.Caret, "")
name = util.EscapeHTML(name) name = util.EscapeHTML(name)
if parent == node && !displayCurrentNode { if parent == node {
add = false name = ""
} }
if add { if add {