mcpField
O
obsidian-templater

obsidian-templater

github.com/nweii生产力1091 次安装1 周前更新
代码仓库

关于 obsidian-templater

obsidian-templater 是面向 Obsidian 用户的动态笔记模板技能,介绍 Templater 的模板语法、JavaScript 执行块、内置 API 与日期处理方法。

主要功能

  1. 01动态模板表达式与代码块
  2. 02控制模板中的空白字符
  3. 03使用 tp.* 内置函数
  4. 04借助 Moment.js 格式化日期
  5. 05提供笔记模板实现示例

适用场景

  1. 01生成带动态内容的笔记
  2. 02按文件夹条件生成模板内容
  3. 03在模板中处理日期
  4. 04排查 tp.* API 用法

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nweii/agent-stuff --skill obsidian-templater

安装后在 Claude Code 中输入/obsidian-templater确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
examples.md
modules.md
momentjs.md

详细介绍

Templater 模板生成

Templater 是一款用于创建动态笔记模板的 Obsidian 插件。模板文件中嵌入的命令会在将模板应用到笔记时运行,并在相应位置输出结果。

核心模板语法

标签行为
<% expression %>输出表达式的结果
<%* code %>执行 JS 代码;默认不输出
<%+ expression %>在预览模式下重新求值(已弃用,请避免使用)
<%- / -%>删除标签前后各一个换行符
<%_ / _%>删除标签前后的所有空白字符

要从 <%* %> 执行块输出内容,请追加到特殊的 tR 字符串:

<%* tR += "some output" %>

要丢弃截至某个位置生成的所有内容(例如,剥离仅供模板使用的 frontmatter):

<%* tR = "" -%>

两种标签类型都可以使用所有 tp.* 函数。


内置模块

选择或调试 tp.* API 时,请阅读 references/modules.md。其中保留了精确的同步行为、属性与函数的区别、异步要求、运行模式、钩子以及用户函数限制。

模板中的空白控制

控制流标签(<%* if (...) { %>、<%* } %>)默认会留下空行。使用 -%> 可删除标签后面的换行符:

<%* if (tp.file.folder() === "Work") { -%>
**Project:** <% tp.frontmatter.project %>
<%* } else { -%>
General note
<%* } -%>

实现示例

需要适用于日常笔记、通过提示词输入元数据并重命名、移除仅供模板使用的 frontmatter、文件夹条件判断或包含笔记的完整模式时,请阅读 references/examples.md。

使用 Moment.js 格式化日期

如需全面的格式化速查表和 JS 操作参考,请参阅 momentjs.md。在为 tp.date.now() 定义 format 字符串,或在 <%* %> 块中使用 moment 全局对象操作日期时,请参考此文档。


通过 obsidian-clis 进行可选的 vault 集成

如果 obsidian-clis skill 可用且 Obsidian 正在运行,vault 上下文有助于提升输出质量:

obsidian properties counts          # what frontmatter properties exist across the vault
obsidian tags counts sort=count     # most-used tags
obsidian read file="Daily Note"     # read an existing template for style reference

在用户请求范围内运行相关的只读 CLI 检查,并遵循 vault 的说明。用户要求创建或更新模板,即授权在该范围内写入;仅在有未确定的选择、破坏性更改或用户要求设置审核节点时才询问。遵循环境的执行权限。


官方文档链接

已渲染的文档(便于阅读): https://silentvoid13.github.io/Templater/

适用于 LLM 的 Templater 摘要: 如需预处理且便于审核的官方 Templater 文档摘要,请参阅 https://context7.com/silentvoid13/templater/llms.txt。

评论

支持 Markdown