This commit is contained in:
Daniel 2024-11-25 10:52:15 +08:00
parent 84fc7092dd
commit 535db65bf6
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

View file

@ -695,6 +695,7 @@ func ImportFromLocalPath(boxID, localPath string, toPath string) (err error) {
hPathsIDs := map[string]string{}
idPaths := map[string]string{}
moveIDs := map[string]string{}
if gulu.File.IsDir(localPath) { // 导入文件夹
// 收集所有资源文件
@ -793,6 +794,7 @@ func ImportFromLocalPath(boxID, localPath string, toPath string) (err error) {
}
if "" != yfmRootID {
moveIDs[id] = yfmRootID
id = yfmRootID
}
if "" != yfmTitle {
@ -999,6 +1001,13 @@ func ImportFromLocalPath(boxID, localPath string, toPath string) (err error) {
}
if 0 < len(importTrees) {
for id, newID := range moveIDs {
for _, importTree := range importTrees {
importTree.ID = strings.ReplaceAll(importTree.ID, id, newID)
importTree.Path = strings.ReplaceAll(importTree.Path, id, newID)
}
}
initSearchLinks()
convertWikiLinksAndTags()
buildBlockRefInText()
@ -1184,16 +1193,6 @@ func imgHtmlBlock2InlineImg(tree *parse.Tree) {
}
func reassignIDUpdated(tree *parse.Tree, rootID, updated string) {
var blockCount int
ast.Walk(tree.Root, func(n *ast.Node, entering bool) ast.WalkStatus {
if !entering || "" == n.ID {
return ast.WalkContinue
}
blockCount++
return ast.WalkContinue
})
ast.Walk(tree.Root, func(n *ast.Node, entering bool) ast.WalkStatus {
if !entering || "" == n.ID {
return ast.WalkContinue
@ -1207,8 +1206,10 @@ func reassignIDUpdated(tree *parse.Tree, rootID, updated string) {
n.SetIALAttr("id", n.ID)
if "" != updated {
n.SetIALAttr("updated", updated)
n.ID = updated + "-" + gulu.Rand.String(7)
n.SetIALAttr("id", n.ID)
if "" == rootID {
n.ID = updated + "-" + gulu.Rand.String(7)
n.SetIALAttr("id", n.ID)
}
} else {
n.SetIALAttr("updated", util.TimeFromID(n.ID))
}