From 8be272bfc6a14d3fec376dc83bf0cee35ced3b38 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Fri, 22 Mar 2024 20:36:18 +0800 Subject: [PATCH] :art: Creating a dailynote template supports doc attributes https://github.com/siyuan-note/siyuan/issues/10698 --- kernel/model/template.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/kernel/model/template.go b/kernel/model/template.go index bc71bb049..909fb2eb9 100644 --- a/kernel/model/template.go +++ b/kernel/model/template.go @@ -169,6 +169,16 @@ func DocSaveAsTemplate(id, name string, overwrite bool) (code int, err error) { luteEngine := NewLute() formatRenderer := render.NewFormatRenderer(tree, luteEngine.RenderOptions) md := formatRenderer.Render() + + // 单独渲染根节点的 IAL + if 0 < len(tree.Root.KramdownIAL) { + // 把 docIAL 中的 id 调整到第一个 + tree.Root.RemoveIALAttr("id") + tree.Root.KramdownIAL = append([][]string{{"id", tree.Root.ID}}, tree.Root.KramdownIAL...) + md = append(md, []byte("\n")...) + md = append(md, parse.IAL2Tokens(tree.Root.KramdownIAL)...) + } + name = util.FilterFileName(name) + ".md" name = util.TruncateLenFileName(name) savePath := filepath.Join(util.DataDir, "templates", name)