From be972ffa4c3cabfc0403d9fd086cdbe45981d300 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Sat, 27 Aug 2022 22:35:22 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E6=8F=90=E4=BE=9B=E9=87=8D=E5=BB=BA?= =?UTF-8?q?=E5=8D=95=E4=B8=AA=E6=96=87=E6=A1=A3=E7=B4=A2=E5=BC=95=E7=9A=84?= =?UTF-8?q?=20API=20Fix=20https://github.com/siyuan-note/siyuan/issues/571?= =?UTF-8?q?9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/box.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/kernel/model/box.go b/kernel/model/box.go index ec77001cc..b6824168f 100644 --- a/kernel/model/box.go +++ b/kernel/model/box.go @@ -450,8 +450,19 @@ func parseKTree(kramdown []byte) (ret *parse.Tree) { } func ReindexTree(path string) (err error) { - luteEngine := NewLute() - tree, err := loadTree(path, luteEngine) + if !strings.HasPrefix(path, "/data/") { + return errors.New("path must start with /data/") + } + + part := strings.TrimPrefix(path, "/data/") + idx := strings.Index(part, "/") + if 0 > idx { + return errors.New("parse box failed") + } + box := part[:idx] + + p := strings.TrimPrefix(path, "/data/"+box) + tree, err := LoadTree(box, p) if nil != err { return }