mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-27 11:58:49 +01:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
3ea7cd520f
3 changed files with 19 additions and 9 deletions
|
|
@ -155,6 +155,9 @@ func SwapBlockRef(refID, defID string, includeChildren bool) (err error) {
|
|||
}
|
||||
}
|
||||
|
||||
refreshUpdated(defNode)
|
||||
refreshUpdated(refNode)
|
||||
|
||||
refPivot := treenode.NewParagraph()
|
||||
refNode.InsertBefore(refPivot)
|
||||
|
||||
|
|
@ -215,13 +218,11 @@ func SwapBlockRef(refID, defID string, includeChildren bool) (err error) {
|
|||
}
|
||||
refPivot.Unlink()
|
||||
|
||||
treenode.IndexBlockTree(refTree)
|
||||
if err = writeJSONQueue(refTree); nil != err {
|
||||
if err = indexWriteJSONQueue(refTree); nil != err {
|
||||
return
|
||||
}
|
||||
if !sameTree {
|
||||
treenode.IndexBlockTree(defTree)
|
||||
if err = writeJSONQueue(defTree); nil != err {
|
||||
if err = indexWriteJSONQueue(defTree); nil != err {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,8 +94,10 @@ func GetBlockRefText(id string) string {
|
|||
}
|
||||
|
||||
func getNodeRefText(node *ast.Node) string {
|
||||
if name := node.IALAttr("name"); "" != name {
|
||||
return name
|
||||
if ret := node.IALAttr("name"); "" != ret {
|
||||
ret = strings.TrimSpace(ret)
|
||||
ret = util.EscapeHTML(ret)
|
||||
return ret
|
||||
}
|
||||
|
||||
switch node.Type {
|
||||
|
|
|
|||
|
|
@ -270,7 +270,7 @@ func IndexBlockTree(tree *parse.Tree) {
|
|||
slice.m.Unlock()
|
||||
|
||||
if nil != bt {
|
||||
if bt.Updated != n.IALAttr("updated") {
|
||||
if bt.Updated != n.IALAttr("updated") || bt.Path != tree.Path || bt.BoxID != tree.Box || bt.HPath != tree.HPath {
|
||||
children := ChildBlockNodes(n) // 需要考虑子块,因为一些操作(比如移动块)后需要同时更新子块
|
||||
changedNodes = append(changedNodes, children...)
|
||||
}
|
||||
|
|
@ -305,9 +305,13 @@ func updateBtSlice(n *ast.Node, tree *parse.Tree) {
|
|||
slice.m.Unlock()
|
||||
}
|
||||
|
||||
func InitBlockTree(force bool) {
|
||||
start := time.Now()
|
||||
var blockTreeLock = sync.Mutex{}
|
||||
|
||||
func InitBlockTree(force bool) {
|
||||
blockTreeLock.Lock()
|
||||
defer blockTreeLock.Unlock()
|
||||
|
||||
start := time.Now()
|
||||
if force {
|
||||
err := os.RemoveAll(util.BlockTreePath)
|
||||
if nil != err {
|
||||
|
|
@ -387,6 +391,9 @@ func SaveBlockTreeJob() {
|
|||
}
|
||||
|
||||
func SaveBlockTree(force bool) {
|
||||
blockTreeLock.Lock()
|
||||
defer blockTreeLock.Unlock()
|
||||
|
||||
start := time.Now()
|
||||
os.MkdirAll(util.BlockTreePath, 0755)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue