From ec51d249014685b8029e7857a315e3665f89a97b Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Tue, 10 Jan 2023 20:39:03 +0800 Subject: [PATCH 1/3] =?UTF-8?q?:art:=20=E7=A7=BB=E9=99=A4=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E7=A9=BA=E9=97=B4=E6=97=B6=E4=B8=8D=E7=89=A9=E7=90=86?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/api/workspace.go | 7 ------- 1 file changed, 7 deletions(-) diff --git a/kernel/api/workspace.go b/kernel/api/workspace.go index 16082bf4f..8c98b41c3 100644 --- a/kernel/api/workspace.go +++ b/kernel/api/workspace.go @@ -106,13 +106,6 @@ func removeWorkspaceDir(c *gin.Context) { return } - if err = os.RemoveAll(path); nil != err { - msg := fmt.Sprintf("remove workspace dir [%s] failed: %s", path, err) - ret.Code = -1 - ret.Msg = msg - return - } - if util.WorkspaceDir == path { os.Exit(util.ExitCodeOk) } From 2b77d9838e7c71ee59a4ed8a6d0866cda4c53e01 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Tue, 10 Jan 2023 21:06:49 +0800 Subject: [PATCH 2/3] =?UTF-8?q?:art:=20=E8=AE=BF=E9=97=AE=E6=8E=88?= =?UTF-8?q?=E6=9D=83=E9=A1=B5=E6=98=BE=E7=A4=BA=E5=B7=A5=E4=BD=9C=E7=A9=BA?= =?UTF-8?q?=E9=97=B4=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/appearance/langs/en_US.json | 3 ++- app/appearance/langs/es_ES.json | 3 ++- app/appearance/langs/fr_FR.json | 3 ++- app/appearance/langs/zh_CHT.json | 3 ++- app/appearance/langs/zh_CN.json | 3 ++- app/stage/auth.html | 5 ++++- kernel/server/serve.go | 3 +++ 7 files changed, 17 insertions(+), 6 deletions(-) diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index 69705c59c..3d1378666 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -1055,6 +1055,7 @@ "180": "Search content block does not exist", "181": "The document has been shared to Liandi, click to view", "182": "Sharing document, please wait...", - "183": "Validating index document tree [%d/%d %s]" + "183": "Validating index document tree [%d/%d %s]", + "184": "Powered by SiYuan" } } diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index 1b4459713..cc49e3e2b 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -1055,6 +1055,7 @@ "180": "El bloque de contenido de búsqueda no existe", "181": "El documento ha sido compartido con Liandi, haga clic para ver", "182": "Compartiendo documento, por favor espere...", - "183": "Validando el árbol del documento de índice [%d/%d %s]" + "183": "Validando el árbol del documento de índice [%d/%d %s]", + "184": "Con la tecnología de SiYuan" } } diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index f869a3913..6e8124fd3 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -1055,6 +1055,7 @@ "180": "Le bloc de contenu de recherche n'existe pas", "181": "Le document a été partagé avec Liandi, cliquez pour afficher", "182": "Partage du document, veuillez patienter...", - "183": "Validation de l'arborescence du document d'index [%d/%d %s]" + "183": "Validation de l'arborescence du document d'index [%d/%d %s]", + "184": "Propulsé par SiYuan" } } diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index 48b397f0e..1c5aac2a0 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -1055,6 +1055,7 @@ "180": "不存在符合條件的內容塊", "181": "已分享文檔到鏈滴,點擊查看", "182": "正在分享文檔,請稍等...", - "183": "正在校驗索引文檔樹 [%d/%d %s]" + "183": "正在校驗索引文檔樹 [%d/%d %s]", + "184": "由思源筆記強力驅動" } } diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index f311125b8..c8b8bb002 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -1055,6 +1055,7 @@ "180": "不存在符合条件的内容块", "181": "已分享文档到链滴,点击查看", "182": "正在分享文档,请稍等...", - "183": "正在校验索引文档树 [%d/%d %s]" + "183": "正在校验索引文档树 [%d/%d %s]", + "184": "由思源笔记强力驱动" } } diff --git a/app/stage/auth.html b/app/stage/auth.html index 65c82c249..e3135a82c 100644 --- a/app/stage/auth.html +++ b/app/stage/auth.html @@ -184,7 +184,7 @@
-

{{.l4}}

+

{{.workspace}}


@@ -195,6 +195,9 @@ {{.l2}}
+
+ {{.l7}} +
Date: Tue, 10 Jan 2023 21:49:02 +0800 Subject: [PATCH 3/3] =?UTF-8?q?:art:=20=E6=94=B9=E8=BF=9B=20`/=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF`=20=E6=90=9C=E7=B4=A2=E6=8E=92=E5=BA=8F=20Fix=20https?= =?UTF-8?q?://github.com/siyuan-note/siyuan/issues/7027?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/template.go | 65 ++++++++++++++++++++++++++++++---------- 1 file changed, 49 insertions(+), 16 deletions(-) diff --git a/kernel/model/template.go b/kernel/model/template.go index f129f4ac5..dab07ae1e 100644 --- a/kernel/model/template.go +++ b/kernel/model/template.go @@ -61,33 +61,66 @@ func SearchTemplate(keyword string) (ret []*Block) { ret = []*Block{} templates := filepath.Join(util.DataDir, "templates") + groups, err := os.ReadDir(templates) + if nil != err { + logging.LogErrorf("read templates failed: %s", err) + return + } + + sort.Slice(ret, func(i, j int) bool { + return util.PinYinCompare(filepath.Base(groups[i].Name()), filepath.Base(groups[j].Name())) + }) + k := strings.ToLower(keyword) - filepath.Walk(templates, func(path string, info fs.FileInfo, err error) error { - name := strings.ToLower(info.Name()) - if !strings.HasSuffix(name, ".md") { - return nil + for _, group := range groups { + if strings.HasPrefix(group.Name(), ".") { + continue } - if strings.HasPrefix(name, ".") || "readme.md" == name { - if info.IsDir() { - return filepath.SkipDir + if group.IsDir() { + var templateBlocks []*Block + templateDir := filepath.Join(templates, group.Name()) + filepath.Walk(templateDir, func(path string, info fs.FileInfo, err error) error { + name := strings.ToLower(info.Name()) + if strings.HasPrefix(name, ".") { + if info.IsDir() { + return filepath.SkipDir + } + return nil + } + + if !strings.HasSuffix(name, ".md") || "readme.md" == name || !strings.Contains(name, k) { + return nil + } + + content := strings.TrimPrefix(path, templates) + content = strings.TrimSuffix(content, ".md") + content = filepath.ToSlash(content) + content = content[1:] + _, content = search.MarkText(content, keyword, 32, Conf.Search.CaseSensitive) + b := &Block{Path: path, Content: content} + templateBlocks = append(templateBlocks, b) + return nil + }) + sort.Slice(templateBlocks, func(i, j int) bool { + return util.PinYinCompare(filepath.Base(templateBlocks[i].Path), filepath.Base(templateBlocks[j].Path)) + }) + ret = append(ret, templateBlocks...) + } else { + name := strings.ToLower(group.Name()) + if strings.HasPrefix(name, ".") || !strings.HasSuffix(name, ".md") || "readme.md" == name || !strings.Contains(name, k) { + continue } - return nil - } - if strings.Contains(name, k) { - content := strings.TrimPrefix(path, templates) - content = strings.ReplaceAll(content, "templates"+string(os.PathSeparator), "") + content := group.Name() content = strings.TrimSuffix(content, ".md") content = filepath.ToSlash(content) content = content[1:] _, content = search.MarkText(content, keyword, 32, Conf.Search.CaseSensitive) - b := &Block{Path: path, Content: content} + b := &Block{Path: filepath.Join(templates, group.Name()), Content: content} ret = append(ret, b) } - return nil - }) - sort.Slice(ret, func(i, j int) bool { return util.PinYinCompare(filepath.Base(ret[i].Path), filepath.Base(ret[j].Path)) }) + } return }