From f17a792b15d3ecf49223d6a8cb1282721db886c2 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 13 Jul 2025 17:04:21 +0800 Subject: [PATCH] :art: The bound heading block in the database card view displays the sub-blocks in the preview area https://github.com/siyuan-note/siyuan/issues/15288 --- kernel/sql/av_gallery.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/kernel/sql/av_gallery.go b/kernel/sql/av_gallery.go index 4d61ddbe8..d4e937b81 100644 --- a/kernel/sql/av_gallery.go +++ b/kernel/sql/av_gallery.go @@ -229,11 +229,23 @@ func renderCoverContentBlock(node *ast.Node, luteEngine *lute.Lute) string { if isDoc { node = node.FirstChild } + heading := node + isHeading := ast.NodeHeading == node.Type + headingLevel := node.HeadingLevel + if isHeading { + node = node.Next + } buf := bytes.Buffer{} for c := node; nil != c; c = c.Next { + if isHeading && ast.NodeHeading == c.Type && c.HeadingLevel <= headingLevel { + if 1 > buf.Len() { + buf.WriteString(renderBlockDOMByNode(heading, luteEngine)) + } + break + } buf.WriteString(renderBlockDOMByNode(c, luteEngine)) - if !isDoc || 1024*4 < buf.Len() { + if (!isDoc && !isHeading) || 1024*4 < buf.Len() { break } }