Browse Source

:art: When `New document save location` is configured as `../`, it will be completed as `../Untitled` Fix https://github.com/siyuan-note/siyuan/issues/8238

Liang Ding 2 years ago
parent
commit
182f767469
4 changed files with 23 additions and 0 deletions
  1. 8 0
      kernel/api/filetree.go
  2. 9 0
      kernel/api/notebook.go
  3. 3 0
      kernel/api/setting.go
  4. 3 0
      kernel/model/conf.go

+ 8 - 0
kernel/api/filetree.go

@@ -528,6 +528,14 @@ func getDocCreateSavePath(c *gin.Context) {
 	if "" == docCreateSavePathTpl {
 		docCreateSavePathTpl = model.Conf.FileTree.DocCreateSavePath
 	}
+	docCreateSavePathTpl = strings.TrimSpace(docCreateSavePathTpl)
+	if "../" == docCreateSavePathTpl {
+		docCreateSavePathTpl = "../Untitled"
+	}
+	for strings.HasSuffix(docCreateSavePathTpl, "/") {
+		docCreateSavePathTpl = strings.TrimSuffix(docCreateSavePathTpl, "/")
+		docCreateSavePathTpl = strings.TrimSpace(docCreateSavePathTpl)
+	}
 
 	p, err := model.RenderGoTemplate(docCreateSavePathTpl)
 	if nil != err {

+ 9 - 0
kernel/api/notebook.go

@@ -300,6 +300,15 @@ func setNotebookConf(c *gin.Context) {
 		}
 	}
 
+	boxConf.DocCreateSavePath = strings.TrimSpace(boxConf.DocCreateSavePath)
+	if "../" == boxConf.DocCreateSavePath {
+		boxConf.DocCreateSavePath = "../Untitled"
+	}
+	for strings.HasSuffix(boxConf.DocCreateSavePath, "/") {
+		boxConf.DocCreateSavePath = strings.TrimSuffix(boxConf.DocCreateSavePath, "/")
+		boxConf.DocCreateSavePath = strings.TrimSpace(boxConf.DocCreateSavePath)
+	}
+
 	box.SaveConf(boxConf)
 	ret.Data = boxConf
 }

+ 3 - 0
kernel/api/setting.go

@@ -265,6 +265,9 @@ func setFiletree(c *gin.Context) {
 	}
 
 	fileTree.DocCreateSavePath = strings.TrimSpace(fileTree.DocCreateSavePath)
+	if "../" == fileTree.DocCreateSavePath {
+		fileTree.DocCreateSavePath = "../Untitled"
+	}
 	for strings.HasSuffix(fileTree.DocCreateSavePath, "/") {
 		fileTree.DocCreateSavePath = strings.TrimSuffix(fileTree.DocCreateSavePath, "/")
 		fileTree.DocCreateSavePath = strings.TrimSpace(fileTree.DocCreateSavePath)

+ 3 - 0
kernel/model/conf.go

@@ -175,6 +175,9 @@ func InitConf() {
 		Conf.FileTree.MaxOpenTabCount = 32
 	}
 	Conf.FileTree.DocCreateSavePath = strings.TrimSpace(Conf.FileTree.DocCreateSavePath)
+	if "../" == Conf.FileTree.DocCreateSavePath {
+		Conf.FileTree.DocCreateSavePath = "../Untitled"
+	}
 	for strings.HasSuffix(Conf.FileTree.DocCreateSavePath, "/") {
 		Conf.FileTree.DocCreateSavePath = strings.TrimSuffix(Conf.FileTree.DocCreateSavePath, "/")
 		Conf.FileTree.DocCreateSavePath = strings.TrimSpace(Conf.FileTree.DocCreateSavePath)