Ver Fonte

:art: Browser clipping extension supports configuring document tags https://github.com/siyuan-note/siyuan/issues/10797

Daniel há 10 meses atrás
pai
commit
2472c63177
2 ficheiros alterados com 21 adições e 2 exclusões
  1. 7 1
      kernel/api/filetree.go
  2. 14 1
      kernel/model/file.go

+ 7 - 1
kernel/api/filetree.go

@@ -673,6 +673,12 @@ func createDocWithMd(c *gin.Context) {
 		return
 	}
 
+	tagsArg := arg["tags"]
+	var tags string
+	if nil != tagsArg {
+		tags = tagsArg.(string)
+	}
+
 	var parentID string
 	parentIDArg := arg["parentID"]
 	if nil != parentIDArg {
@@ -706,7 +712,7 @@ func createDocWithMd(c *gin.Context) {
 		withMath = withMathArg.(bool)
 	}
 
-	id, err := model.CreateWithMarkdown(notebook, hPath, markdown, parentID, id, withMath)
+	id, err := model.CreateWithMarkdown(tags, notebook, hPath, markdown, parentID, id, withMath)
 	if err != nil {
 		ret.Code = -1
 		ret.Msg = err.Error()

+ 14 - 1
kernel/model/file.go

@@ -1159,7 +1159,7 @@ func CreateDocByMd(boxID, p, title, md string, sorts []string) (tree *parse.Tree
 	return
 }
 
-func CreateWithMarkdown(boxID, hPath, md, parentID, id string, withMath bool) (retID string, err error) {
+func CreateWithMarkdown(tags, boxID, hPath, md, parentID, id string, withMath bool) (retID string, err error) {
 	createDocLock.Lock()
 	defer createDocLock.Unlock()
 
@@ -1177,6 +1177,19 @@ func CreateWithMarkdown(boxID, hPath, md, parentID, id string, withMath bool) (r
 	luteEngine.SetHTMLTag2TextMark(true)
 	dom := luteEngine.Md2BlockDOM(md, false)
 	retID, err = createDocsByHPath(box.ID, hPath, dom, parentID, id)
+
+	nameValues := map[string]string{}
+	tags = strings.TrimSpace(tags)
+	tags = strings.ReplaceAll(tags, ",", ",")
+	tagArray := strings.Split(tags, ",")
+	var tmp []string
+	for _, tag := range tagArray {
+		tmp = append(tmp, strings.TrimSpace(tag))
+	}
+	tags = strings.Join(tmp, ",")
+	nameValues["tags"] = tags
+	SetBlockAttrs(retID, nameValues)
+
 	WaitForWritingFiles()
 	return
 }