Lumen模板系统教程:用EJS变量、输入提示与光标定位打造你的结构化笔记

发布时间:2026/8/27 16:00:45
Lumen模板系统教程:用EJS变量、输入提示与光标定位打造你的结构化笔记 Lumen模板系统教程用EJS变量、输入提示与光标定位打造你的结构化笔记【免费下载链接】lumenA free, open-source note-taking app that syncs with markdown files in your GitHub repository项目地址: https://gitcode.com/gh_mirrors/lumen1/lumenLumen 是一款免费开源的 Markdown 笔记应用可将笔记以 Markdown 文件形式与 GitHub 仓库同步。它的模板系统围绕三大特性展开EJS 变量、输入提示与光标定位让你几秒钟生成读书笔记、会议纪要、项目计划等结构化笔记再也不用手动复制粘贴重复的框架。本教程带你从零打造一个实用的书籍笔记模板。✨模板系统的核心价值 模板就是仓库里的一篇普通笔记版本可控、随处可用⚡ 用/一键插入输入提示自动弹框收集必填信息 光标精准定位插入模板后直接开始正文写作第一步把任意笔记变成模板在 Lumen 中模板的本质是给笔记的 Frontmatter 加一个template字段。下面是一个Book读书笔记模板--- template: name: Book author: isbn: recommended_by: --- # #book几个要点template.name模板名称会在/菜单中显示Frontmatter 之后的一切内容都是模板正文Lumen 会自动识别出这篇笔记是模板并在模板列表中显示为Book template识别逻辑见 src/utils/parse-note.ts模板的完整数据结构name、description、inputs、body 四个字段定义在 src/schema.ts第二步用/一键调用模板在任意笔记编辑器中输入/编辑器会列出仓库中所有可用模板可继续输入字符筛选选中Book按Enter模板正文即刻插入到当前光标处这个斜杠命令菜单由 src/components/note-editor.tsx 中的补全逻辑实现一旦检测到/就拉取全部模板并按名称匹配。EJS 变量自动填充当前日期模板正文使用 EJS一款允许在模板中嵌入 JavaScript 的轻量模板引擎渲染。目前 Lumen 提供一个内置全局变量变量类型说明datestring当前日期格式为YYYY-MM-DD给 Book 模板加上date_saved: % date %每次插入模板时都会自动填入今天的日期再也不用手动改--- template: name: Book author: % author % date_saved: % date % ---渲染与插入的核心逻辑在 src/components/insert-template.tsx先执行 EJS 渲染再把结果写入编辑器。输入提示插入前先填好关键信息给template增加inputs字段插入模板前会先弹出一个输入对话框。每个输入支持四项配置字段必填说明type是目前仅支持stringrequired否设为true时不填值就无法插入模板default否输入框的默认值description否输入项的描述文案改造后的 Book 模板--- template: name: Book inputs: author: type: string required: true description: 作者是谁 author: % author % isbn: recommended_by: date_saved: % date % --- # #book此时插入模板会先弹出提示框第一个输入框自动聚焦填入作者后值会被替换进% author %占位符。这个对话框由 InsertTemplateDialog 组件实现。 小贴士模板 Frontmatter 中以#开头的行在插入时会自动移除见 removeFrontmatterComments你可以放心地在模板里写注释备忘。光标定位{cursor}让光标落在该落的地方默认情况下模板插入完成后光标停在内容末尾。而写读书笔记时第一步总是要写书名——在标题位置放一个{cursor}占位符即可# {cursor}插入后光标会精准停在#之后直接开始输入书名。注意每个模板只支持一个{cursor}若模板中没有占位符光标则落在插入内容的末尾定位逻辑见 src/components/insert-template.tsx。完整实战一篇结构完整的读书笔记模板把三项特性组合起来就得到了一个开箱即用的模板--- template: name: Book inputs: author: type: string required: true isbn: type: string author: % author % isbn: % isbn % date_saved: % date % recommended_by: --- # {cursor} ## 为什么读这本书 ## 核心观点 - [ ] 观点一 ## 金句摘录 ## 行动项 #book插入时只需填作者必填和 ISBN可选日期自动填充光标停在书名处任务列表和标签一应俱全。小结 模板 普通笔记 templateFrontmatter全部细节可查官方文档 docs/templates.md⚡ EJS 变量% date %让模板会动inputs输入提示负责收集信息{cursor}负责落位所有模板都保存在你的 GitHub 仓库中随笔记一起版本化、可迁移现在打开 Lumen输入/你会发现自己的第一个结构化笔记模板已经就位。【免费下载链接】lumenA free, open-source note-taking app that syncs with markdown files in your GitHub repository项目地址: https://gitcode.com/gh_mirrors/lumen1/lumen创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考