From 1c952be7167f3eea05359be9fee1739fc71d099c Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 29 Oct 2025 16:10:40 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/16233 https://github.com/siyuan-note/siyuan/issues/16121 Signed-off-by: Daniel <845765@qq.com> --- kernel/model/outline.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kernel/model/outline.go b/kernel/model/outline.go index 4003fb55f..da9fa70f7 100644 --- a/kernel/model/outline.go +++ b/kernel/model/outline.go @@ -242,6 +242,7 @@ func Outline(rootID string, preview bool) (ret []*Path, err error) { if nil == storage || 0 == len(storage) { // 默认全部展开 for _, p := range ret { + p.Folded = false for _, b := range p.Blocks { b.Folded = false for _, c := range b.Children { @@ -254,6 +255,7 @@ func Outline(rootID string, preview bool) (ret []*Path, err error) { if nil != storage["expandIds"] { // 先全部折叠,后面再根据展开 ID 列表展开对应标题 for _, p := range ret { + p.Folded = true for _, b := range p.Blocks { b.Folded = true for _, c := range b.Children { @@ -269,6 +271,7 @@ func Outline(rootID string, preview bool) (ret []*Path, err error) { } for _, p := range ret { + p.Folded = !gulu.Str.Contains(p.ID, expandIDs) for _, b := range p.Blocks { b.Folded = !gulu.Str.Contains(b.ID, expandIDs) for _, c := range b.Children { @@ -286,6 +289,8 @@ func walkChildren(b *Block, expandIDs []string) { b.Folded = false } else if "expandNone" == expandIDs[0] { b.Folded = true + } else { + b.Folded = !gulu.Str.Contains(b.ID, expandIDs) } } else { b.Folded = !gulu.Str.Contains(b.ID, expandIDs)