Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Vanessa 2024-09-11 16:18:55 +08:00
commit e2cb9fe453
7 changed files with 72 additions and 9 deletions

View file

@ -20,7 +20,7 @@ import (
"bytes"
"fmt"
"github.com/open-spaced-repetition/go-fsrs/v2"
"github.com/open-spaced-repetition/go-fsrs/v3"
)
type Flashcard struct {

View file

@ -46,7 +46,7 @@ require (
github.com/mitchellh/go-ps v1.0.0
github.com/mssola/useragent v1.0.0
github.com/olahol/melody v1.2.1
github.com/open-spaced-repetition/go-fsrs/v2 v2.0.1
github.com/open-spaced-repetition/go-fsrs/v3 v3.1.0
github.com/panjf2000/ants/v2 v2.10.0
github.com/patrickmn/go-cache v2.1.0+incompatible
github.com/radovskyb/watcher v1.0.7
@ -60,7 +60,7 @@ require (
github.com/siyuan-note/filelock v0.0.0-20240724034355-d1ed7bf21d04
github.com/siyuan-note/httpclient v0.0.0-20240910021232-ab6f84db3b8b
github.com/siyuan-note/logging v0.0.0-20240505035402-6430d57006a2
github.com/siyuan-note/riff v0.0.0-20240828101024-443a09504726
github.com/siyuan-note/riff v0.0.0-20240911034015-5fb2819a3ad3
github.com/spf13/cast v1.7.0
github.com/steambap/captcha v1.4.1
github.com/studio-b12/gowebdav v0.9.0

View file

@ -270,8 +270,8 @@ github.com/onsi/ginkgo/v2 v2.20.2 h1:7NVCeyIWROIAheY21RLS+3j2bb52W0W82tkberYytp4
github.com/onsi/ginkgo/v2 v2.20.2/go.mod h1:K9gyxPIlb+aIvnZ8bd9Ak+YP18w3APlR+5coaZoE2ag=
github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k=
github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY=
github.com/open-spaced-repetition/go-fsrs/v2 v2.0.1 h1:ODpQGZqZNsKqAF4/WUdRtfuNtwDIfI6Xj3cSznxk0g0=
github.com/open-spaced-repetition/go-fsrs/v2 v2.0.1/go.mod h1:Ry+MLx079nUXwSbYm+OYLK9pQ9yu0cCLWSo3N4H5ZBI=
github.com/open-spaced-repetition/go-fsrs/v3 v3.1.0 h1:wsNqYC0poLo1+4c9T4AoYvsPMpyTIjYpf2PpWbgJf7k=
github.com/open-spaced-repetition/go-fsrs/v3 v3.1.0/go.mod h1:zTtQIk3kOO9kweg5zJAgbdwBXR2HBPsDN0k6AxmTpzY=
github.com/otiai10/gosseract/v2 v2.4.1 h1:G8AyBpXEeSlcq8TI85LH/pM5SXk8Djy2GEXisgyblRw=
github.com/otiai10/gosseract/v2 v2.4.1/go.mod h1:1gNWP4Hgr2o7yqWfs6r5bZxAatjOIdqWxJLWsTsembk=
github.com/otiai10/mint v1.6.3 h1:87qsV/aw1F5as1eH1zS/yqHY85ANKVMgkDrf9rcxbQs=
@ -349,8 +349,8 @@ github.com/siyuan-note/httpclient v0.0.0-20240910021232-ab6f84db3b8b h1:gl+FZ3mo
github.com/siyuan-note/httpclient v0.0.0-20240910021232-ab6f84db3b8b/go.mod h1:szsySkVwuZ1INYAbPE/afcmTjJW+IrDMBMK1tMw36oA=
github.com/siyuan-note/logging v0.0.0-20240505035402-6430d57006a2 h1:/2+tlOThVB86RxSLeW0JFw2ISUrH2ZFRg15ULGAUGAE=
github.com/siyuan-note/logging v0.0.0-20240505035402-6430d57006a2/go.mod h1:3Osd2/nwzXZFl6ZcDE4hA0HD83Wyv1fds47nVuapyOM=
github.com/siyuan-note/riff v0.0.0-20240828101024-443a09504726 h1:bLBpaidGUXZS18eKnpUd5WdrGRz0mymZDLMKtWJe/B8=
github.com/siyuan-note/riff v0.0.0-20240828101024-443a09504726/go.mod h1:IThyetU+bmHp9dd9prUlwVyAwx/dBxRdUUysZQ+TYsw=
github.com/siyuan-note/riff v0.0.0-20240911034015-5fb2819a3ad3 h1:8rFXYq638/CXQ8W7xd2MFkoI7ArUeVzeWP8gEcr0W0o=
github.com/siyuan-note/riff v0.0.0-20240911034015-5fb2819a3ad3/go.mod h1:zXiGHpQvl7NOPZnq/kUqHlfArBRaaypRl6TZzHP59Yg=
github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf h1:pvbZ0lM0XWPBqUKqFU8cmavspvIl9nulOYwdy6IFRRo=

View file

@ -25,7 +25,7 @@ import (
"github.com/88250/lute/ast"
"github.com/88250/lute/parse"
"github.com/open-spaced-repetition/go-fsrs/v2"
"github.com/open-spaced-repetition/go-fsrs/v3"
"github.com/siyuan-note/siyuan/kernel/filesys"
"github.com/siyuan-note/siyuan/kernel/sql"
"github.com/siyuan-note/siyuan/kernel/treenode"

View file

@ -2365,6 +2365,65 @@ func exportTree(tree *parse.Tree, wysiwyg, keepFold, avHiddenCol bool,
} else if av.KeyTypeLineNumber == cell.Value.Type {
val = strconv.Itoa(rowNum)
rowNum++
} else if av.KeyTypeRelation == cell.Value.Type {
for i, v := range cell.Value.Relation.Contents {
if nil == v {
continue
}
if av.KeyTypeBlock == v.Type && nil != v.Block {
val = v.Block.Content
if !wysiwyg {
val = string(lex.EscapeProtyleMarkers([]byte(val)))
val = strings.ReplaceAll(val, "\\|", "|")
val = strings.ReplaceAll(val, "|", "\\|")
}
val = strings.ReplaceAll(val, "\n", " ")
mdTableCell.AppendChild(&ast.Node{Type: ast.NodeText, Tokens: []byte(val)})
}
if i < len(cell.Value.Relation.Contents)-1 {
mdTableCell.AppendChild(&ast.Node{Type: ast.NodeText, Tokens: []byte(", ")})
}
}
continue
} else if av.KeyTypeRollup == cell.Value.Type {
for i, v := range cell.Value.Rollup.Contents {
if nil == v {
continue
}
if av.KeyTypeBlock == v.Type {
if nil != v.Block {
val = v.Block.Content
if !wysiwyg {
val = string(lex.EscapeProtyleMarkers([]byte(val)))
val = strings.ReplaceAll(val, "\\|", "|")
val = strings.ReplaceAll(val, "|", "\\|")
}
val = strings.ReplaceAll(val, "\n", " ")
mdTableCell.AppendChild(&ast.Node{Type: ast.NodeText, Tokens: []byte(val)})
}
} else if av.KeyTypeText == v.Type {
val = v.Text.Content
if !wysiwyg {
val = string(lex.EscapeProtyleMarkers([]byte(val)))
val = strings.ReplaceAll(val, "\\|", "|")
val = strings.ReplaceAll(val, "|", "\\|")
}
val = strings.ReplaceAll(val, "\n", " ")
mdTableCell.AppendChild(&ast.Node{Type: ast.NodeText, Tokens: []byte(val)})
} else {
mdTableCell.AppendChild(&ast.Node{Type: ast.NodeText, Tokens: []byte(v.String(true))})
}
if i < len(cell.Value.Rollup.Contents)-1 {
mdTableCell.AppendChild(&ast.Node{Type: ast.NodeText, Tokens: []byte(", ")})
}
}
continue
}
if "" == val {

View file

@ -791,7 +791,7 @@ func FindReplace(keyword, replacement string, replaceTypes map[string]bool, ids
util.PushEndlessProgress(fmt.Sprintf(Conf.Language(207), i+1, len(renameRoots)))
}
WaitForWritingFiles()
sql.WaitForWritingDatabase()
reloadTreeIDs = gulu.Str.RemoveDuplicatedElem(reloadTreeIDs)
for _, id := range reloadTreeIDs {

View file

@ -384,6 +384,8 @@ func (tx *Transaction) doMove(operation *Operation) (ret *TxErr) {
if err = tx.writeTree(targetTree); err != nil {
return
}
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, pushSetDefRefCount, srcTree.ID, srcTree.ID)
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, pushSetDefRefCount, targetTree.ID, srcNode.ID)
}
return
}
@ -463,6 +465,8 @@ func (tx *Transaction) doMove(operation *Operation) (ret *TxErr) {
if err = tx.writeTree(targetTree); err != nil {
return &TxErr{code: TxErrCodeWriteTree, msg: err.Error(), id: id}
}
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, pushSetDefRefCount, srcTree.ID, srcTree.ID)
task.AppendAsyncTaskWithDelay(task.SetDefRefCount, 1*time.Second, pushSetDefRefCount, targetTree.ID, srcNode.ID)
}
return
}