diff --git a/kernel/model/box.go b/kernel/model/box.go index caa715c69..b42a50fbc 100644 --- a/kernel/model/box.go +++ b/kernel/model/box.go @@ -450,6 +450,7 @@ func parseStdMd(markdown []byte) (ret *parse.Tree) { luteEngine.SetSetext(false) luteEngine.SetYamlFrontMatter(false) luteEngine.SetLinkRef(false) + luteEngine.SetImgPathAllowSpace(true) ret = parse.Parse("", markdown, luteEngine.ParseOptions) genTreeID(ret) return diff --git a/kernel/model/import.go b/kernel/model/import.go index 1336b8f84..5abe655f9 100644 --- a/kernel/model/import.go +++ b/kernel/model/import.go @@ -518,7 +518,14 @@ func ImportFromLocalPath(boxID, localPath string, toPath string) (err error) { return ast.WalkContinue } - if !util.IsRelativePath(dest) || "" == dest { + dest = strings.ReplaceAll(dest, "%20", " ") + dest = strings.ReplaceAll(dest, "%5C", "/") + n.Tokens = []byte(dest) + if !util.IsRelativePath(dest) { + return ast.WalkContinue + } + dest = filepath.ToSlash(dest) + if "" == dest { return ast.WalkContinue } @@ -611,10 +618,12 @@ func ImportFromLocalPath(boxID, localPath string, toPath string) (err error) { return ast.WalkContinue } + dest = strings.ReplaceAll(dest, "%20", " ") + dest = strings.ReplaceAll(dest, "%5C", "/") + n.Tokens = []byte(dest) if !util.IsRelativePath(dest) { return ast.WalkContinue } - dest = filepath.ToSlash(dest) if "" == dest { return ast.WalkContinue