Knap logo

Knap

開く

Knap は Obsidian CEO による MIT テンプレート言語で、ロジック・変数・フィルタで JSON を Markdown にします。

共有:
代替ツールを見る

Knap はデータを Markdown にするテンプレート言語です。製品サイトは knap.md。リポジトリ obsidianmd/knapMIT、作成 2026-08-21、言語 TypeScript。2026-09-12 時点の GitHub は 341 stars10 forks、最終 push 2026-09-11。同日の npm 最新は 0.4.2Obsidian CEO の Steph Ango(kepano)が発表し、r/ObsidianMD の hot は約 999 upvotes。Obsidian Web Clipper と Obsidian Importer のテンプレートを既に動かしています。

ノートアプリが欲しいなら Obsidian、ファイルを Markdown にするエージェントスキルなら Markitdown、テンプレート前の HTML 抽出だけなら Defuddle を見てください。

主な機能

  • Markdown ネイティブ{{ title }} 変数、blockquote / sort / table / wikilink / yaml_property などの | filter{% if %} / {% for %} ロジック。
  • CLI とライブラリnpx knap render template.md --data data.json --output note.mdnpm install knap。Node.js 20+。knap validate は描画せず構文だけ。knap help filters はオフラインカタログ。
  • eval なし:README は AST インタプリタと明記。任意 JavaScript は実行しない。
  • Obsidian 向け出力:YAML frontmatter、[[wikilinks]]、Markdown ホストが既に受け付ける HTML。
  • Playgroundknap.md/playground はドキュメントと同じ例。

制約: 341 stars は熱量であり監査ではない。strip_tags などの HTML フィルタはサニタイザではないlinkimagejavascript: / vbscript: / data: を落とす。ホスト側のプロトコル方針は別途必要。DOM 依存フィルタは CLI ではなくライブラリ API。

使用シナリオ

  • Clipper / Importer 作者で、Obsidian ツール間のテンプレート言語を一本化したい人。
  • CLI パイプラインで Defuddle などの JSON から Markdown ノートを書く人。
  • 代わりに Obsidian を使うべき人:ボルトだけが必要で、テンプレート実行系は不要。

料金

部分 価格 2026-09-12 の第一者ページ
knap 言語、CLI、npm $0 MIT。約 341 stars。npm knap 0.4.2。
Obsidian ホスト その製品を確認 Clipper と Importer は別物。

はじめに

  1. playground を開くか、npm install knap / npx knap
  2. {{ variables }} と任意の {% if %} でテンプレートを書く。
  3. 描画:npx knap render template.md --data article.json --output note.md
  4. データなし検証:npx knap validate template.md

第一者リソース:ドキュメントREADME

よくある質問

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 向け。

ヒント

  1. ソースが URL なら Defuddle JSON を npx knap render template.md --data - にパイプする。
  2. 描画前に CI で knap validate。変数の存在は見ない。
  3. 描画 HTML はホストが消毒するまで信頼しない。

まとめ

JSON を Markdown ノートにしたいとき、とくに Obsidian Clipper の隣では、小さな MIT 言語 Knap から始める。knap.md へ。ボルトが欲しくてテンプレーターが要らないなら Obsidian を残す。

コメント

まだコメントがありません。最初のコメントを投稿してください!