From 6510d7dbf026a5239e82bc964e451820c2c34f49 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sun, 7 Sep 2025 20:58:38 +0800 Subject: [PATCH] :technologist: Improve kernel API `appendBlock` and `insertBlock` https://github.com/siyuan-note/siyuan/issues/15798 --- kernel/model/transaction.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/kernel/model/transaction.go b/kernel/model/transaction.go index 15a688e97..7d2926396 100644 --- a/kernel/model/transaction.go +++ b/kernel/model/transaction.go @@ -1255,11 +1255,19 @@ func (tx *Transaction) doInsert(operation *Operation) (ret *TxErr) { node.FirstChild.InsertAfter(remain) } } else { - for i := len(remains) - 1; 0 <= i; i-- { - remain := remains[i] - node.PrependChild(remain) + if !node.IsContainerBlock() { + for i := len(remains) - 1; 0 <= i; i-- { + remain := remains[i] + node.InsertAfter(remain) + } + node.InsertAfter(insertedNode) + } else { + for i := len(remains) - 1; 0 <= i; i-- { + remain := remains[i] + node.PrependChild(remain) + } + node.PrependChild(insertedNode) } - node.PrependChild(insertedNode) } } }