Knap 是一门把数据变成 Markdown 的模板语言。产品站是 knap.md。仓库 obsidianmd/knap 为 MIT,创建于 2026-08-21,语言 TypeScript。2026-09-12 GitHub 显示 341 star、10 fork,最近推送 2026-09-11。当天 npm 最新版是 0.4.2。Obsidian CEO Steph Ango(kepano)发布;r/ObsidianMD 热榜帖约 999 赞。它已经给 Obsidian Web Clipper 和 Obsidian Importer 的模板供电。
对照 Obsidian 若你要笔记应用,对照 Markitdown 若你要智能体把文件转成 Markdown,对照 Defuddle 若你只要在套模板之前抽取 HTML 正文。
核心功能
- Markdown 原生模板:
{{ title }}变量,| filter链(如blockquote、sort、table、wikilink、yaml_property),以及{% if %}/{% for %}逻辑。 - CLI 和库:
npx knap render template.md --data data.json --output note.md。npm install knap。需要 Node.js 20+。knap validate不渲染只查语法。knap help filters是离线目录。 - 不用 eval:README 写明 AST 解释器,不执行任意 JavaScript。
- 面向 Obsidian 的输出:YAML frontmatter、
[[双向链接]],以及 Markdown 宿主本来就接受的 HTML。 - Playground:knap.md/playground 和文档是同一套例子。
限制:341 star 是热度,不是审计。strip_tags 这类 HTML 过滤器不是消毒器。link 和 image 会丢掉 javascript:、vbscript:、data: 目标;宿主仍要自己定协议策略。依赖 DOM 的过滤器要走库 API,不是 CLI。
适用场景
- Clipper / Importer 作者,想在 Obsidian 工具里共用一门模板语言。
- CLI 流水线:把 Defuddle 或其他 JSON 写成 Markdown 笔记。
- 更该直接用 Obsidian 的人:只要仓库,不要模板运行时。
定价
| 部分 | 价格 | 2026-09-12 第一方页面 |
|---|---|---|
| knap 语言、CLI、npm | $0 | MIT。约 341 star。npm knap 0.4.2。 |
| Obsidian 宿主 | 以该产品为准 | Clipper 和 Importer 是分开的。 |
快速开始
- 打开 playground,或
npm install knap/npx knap。 - 用
{{ variables }}和可选的{% if %}写模板。 - 渲染:
npx knap render template.md --data article.json --output note.md。 - 无数据校验:
npx knap validate template.md。
常见问题
这是 Obsidian 插件吗?
不是。它是语言和 npm 包。Clipper 和 Importer 已经内嵌。任何应用都可以 npm install knap。
模板里能跑 JavaScript 吗?
不能。README:AST 解释器,无 eval。
Node 版本?
CLI 需要 Node.js 20 或更高。库的 import 不依赖 CLI。
替代方案
- Obsidian:已经用 Knap 跑 Clipper/Importer 模板的仓库。
- Markitdown:在智能体里把文件转成 Markdown,不是模板语言。
- Mustache / Liquid:通用模板引擎。Knap 的过滤器面向 Markdown 和 Obsidian YAML。
使用技巧
- 源是 URL 时,把 Defuddle JSON 管道进
npx knap render template.md --data -。 - 渲染前在 CI 跑
knap validate。它不检查变量是否存在。 - 渲染出的 HTML 在宿主消毒之前都当不可信。
总结
JSON 要变成 Markdown 笔记时,尤其是挨着 Obsidian Clipper,Knap 是值得先伸手的小型 MIT 语言。从 knap.md 开始;若你要的是仓库而不是模板器,把 Obsidian 留在短名单。
评论
还没有评论。成为第一个评论的人!
相关工具
相关洞察
Claudesidian:让 Obsidian 变成 AI 驱动的第二大脑
通过 Claudesidian 这个开源项目,将 Obsidian 笔记系统与 Claude Code 完美结合。内置 PARA 方法、自定义命令、自动化工作流,从想法到实现的完整解决方案。

Obsidian + Claude Skills:真正让你的知识管理效率起飞
真正让 Obsidian 起飞的,不只是接入 Claude,而是接入一整套「Claude Skills」。
Claude Code 的下一站,不是代码,而是你本地的 Obsidian 知识库
探索 Obsidian + Claude Code 如何从知识管理工具转变为你的私密 AI 助手。包含 obsidian-skills、Claudian 插件、Claudesidian 模板的完整指南,以及数据隐私与 AI 能力兼得的最佳实践。