|
@@ -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))
|
|
|
}
|