Obsidian Web Clipper テンプレート6選

公式のObsidian Web Clipperは無料のオープンソースで、保存先はそのまま自分のVaultです。本当の力を発揮するのはテンプレートです。ページの種類ごとに一つずつ用意しておけば、トリガーによって自動で選ばれ、ノート名、フォルダ、プロパティ、本文がそれぞれ決まります。

ただ、空のテンプレートエディタを開いても何も教えてはくれません。この記事では、今日そのまま貼り付けて使えるテンプレートを6つ紹介します。構文は公式ドキュメントとクリッパーのソースコードで確認済みです。後半ではトリガー、変数、フィルターを解説するので、自分でテンプレートを書けるようになります。

テンプレートの構成

どのテンプレートも同じ要素でできています。

  • ノート名 と 保存場所(例:Clippings/Videos)
  • プロパティ:YAMLフロントマターになる部分
  • ノートの内容:Markdownの本文
  • トリガー:テンプレートを自動で選ぶためのURLパターンやschema.orgのタイプ

この4つの欄はすべて {{title}} や {{url}} のような変数を受け付け、どの変数も {{published|date:"YYYY-MM-DD"}} のようにフィルターに通せます。ページでどんな変数が使えるかを知るには、クリッパーを開いて ... アイコンをクリックします。表示中のページの変数が一覧で出てきます。

テンプレートは .json ファイルとして共有されます。読み込むには、クリッパーの設定を開き、どれかのテンプレートを選んで Import をクリックします(ファイルをドラッグしても構いません)。Kepano氏のGitHubリポジトリclipper-templatesには、同じ形式の例がさらに十数個あります。

1. 字幕付きのYouTube動画

形式を一度見ておけるように、ここだけは読み込み可能なJSONを丸ごと載せます。youtube.json として保存し、読み込んでください。

{
  "schemaVersion": "0.1.0",
  "name": "YouTube",
  "behavior": "create",
  "noteNameFormat": "{{title|safe_name}}",
  "path": "Clippings/Videos",
  "noteContentFormat": "![{{title}}]({{url}})\n\n{% if transcript %}## Transcript\n\n{{transcript}}{% else %}No transcript available.{% endif %}",
  "properties": [
    { "name": "title", "value": "{{schema:name}}", "type": "text" },
    { "name": "channel", "value": "{{schema:author|wikilink}}", "type": "multitext" },
    { "name": "published", "value": "{{schema:uploadDate|date:YYYY-MM-DD}}", "type": "date" },
    { "name": "duration", "value": "{{schema:duration|duration}}", "type": "text" },
    { "name": "source", "value": "{{url}}", "type": "text" },
    { "name": "tags", "value": "videos", "type": "multitext" }
  ],
  "triggers": ["https://www.youtube.com/watch?v="]
}

知っておきたい点が二つあります。![...]({{url}}) の行は、ノートにプレーヤーを埋め込みます。そして {{transcript}} はドキュメントの変数一覧には載っていません。クリッパーに内蔵されたパーサーDefuddleのYouTube用エクストラクターが提供するもので、動画に字幕がある場合にしか存在しません。テンプレートが {% if %} で囲んでいるのはそのためです。1万語の字幕より要約を残したいなら、Interpreterを有効にして、{{"a five bullet summary of the video"}} のようなプロンプト変数に置き換えましょう。

2. X(Twitter)のスレッド

最近のバージョンのクリッパーはXの投稿を認識し、スレッドを {{content}} に入れてくれます。なので、このテンプレートで考えるのは主に名前の付け方とトリガーです。

トリガー(正規表現なので、タイムラインではなく投稿ページでだけ発動します):

/^https:\/\/(x|twitter)\.com\/[^\/]+\/status\/\d+/

ノートの内容:

{{content}}

Source: [{{author}}]({{url}})

便利なプロパティ:author = {{author|wikilink}}、source = {{url}}、created = {{date|date:"YYYY-MM-DD"}}、tags = threads。

3. レシピ

レシピサイトはschema.orgのデータを公開しているので、6つの中で最もすっきりしたテンプレートになります。CSSセレクターは不要で、ほとんどのレシピサイトで動きます。

トリガー:

schema:@Recipe

ノートの内容:

![{{title}}]({{image}})

{{description}}

## Ingredients

{{schema:@Recipe:recipeIngredient|list:task}}

## Steps

{{schema:@Recipe:recipeInstructions[*].text|list:numbered}}

プロパティ:cuisine = {{schema:@Recipe:recipeCuisine}}、total_time = {{schema:@Recipe:totalTime|duration}}、source = {{url}}。材料はチェックリストになるので、料理しながらチェックを入れていけます。手順をセクションに分けているサイトでは recipeInstructions[*].text が空で返ってくることがあり、その場合はパスを調整する必要があります。

4. ChatGPTやClaudeとの会話

クリッパーのパーサーにはchatgpt.comとclaude.ai用のエクストラクターがあるので、最近のバージョンでは {{content}} に会話のやり取りが入ります。古いガイドではChatGPT向けに長い selectorHtml の連鎖を使っていますが、もう必要ないはずです。

トリガー(1行に1つ):

https://chatgpt.com/c/
https://chatgpt.com/share/
https://claude.ai/chat/

ノートの内容:

{{content}}

プロパティ:title = {{title}}、source = {{url}}、created = {{date|date:"YYYY-MM-DD"}}、tags = ai/conversation。会話を持ち運べる形で残す方法については、ChatGPTの会話をMarkdownで保存するをご覧ください。

5. Wikipediaの記事

Wikipediaを汎用の抽出で取り込むと、ナビゲーションボックスやフッターまで残ってしまいます。このテンプレートは記事本文を直接狙い、ノイズを取り除きます。

トリガー:

/^https:\/\/[a-z-.]+\.wikipedia\.org\/wiki\/.*$/

ノートの内容:

{{selectorHtml:#mw-content-text|remove_html:(".navbox,.printfooter,.side-box,.mw-editsection")|markdown}}

プロパティ:title = {{title}}、author = [[Wikipedia]]、source = {{url}}、tags = wikipedia。普通のブログ記事やニュースには、シンプルな {{content}} のテンプレートをリストの一番上に置いておけば、それが受け皿になります。

6. 学術論文(arXiv)

arXivのアブストラクトページには citation_* のメタタグがあるので、推測に頼らずにきれいなメタデータが取れます。

トリガー:

https://arxiv.org/abs/

ノートの内容:

## Abstract

{{selector:blockquote.abstract|replace:"Abstract\:":""|trim}}

## Key contributions

{{"three key contributions of this paper, as a bullet list"}}

プロパティ:title = {{meta:name:citation_title}}、authors = {{selector:.authors a|wikilink|join}}、published = {{meta:name:citation_date|date:("YYYY-MM-DD", "YYYY/MM/DD")}}、pdf = {{meta:name:citation_pdf_url}}。「Key contributions」の行はプロンプト変数なので、Interpreterを有効にしてモデル(APIキー、またはOllamaのローカルモデル)を設定する必要があります。Interpreterを使わないなら、この行は削除してください。

テンプレートのトリガーを理解する

トリガーには3種類あり、1行に1ルールずつ書きます。

種類例一致する対象
シンプルhttps://www.youtube.com/watch?v=この文字列で始まるすべてのURL
正規表現/^https:\/\/arxiv\.org\/abs\//パターンに一致するURL(. と / はエスケープ)
スキーマschema:@Recipeschema.orgのタイプがRecipeのページ

スキーマのトリガーでは、フィールド(schema:@Recipe.name)や値(schema:@Recipe.name=Cookie)で判定することもできます。

順番が大事です。リストの中で最初に一致したテンプレートが使われ、どれにも一致しないページには一番上のテンプレートが使われます。汎用の記事テンプレートを一番上にドラッグしておけば、それが受け皿になります。

変数とフィルターの早見表

変数は5種類あります。

  • プリセット:{{title}}、{{url}}、{{author}}、{{published}}、{{content}}、{{highlights}}、{{date}}
  • プロンプト(Interpreter):{{"a summary of the page"}}
  • メタ:{{meta:name:description}}、{{meta:property:og:title}}
  • セレクター:{{selector:h1}}、{{selectorHtml:#main|markdown}}
  • Schema.org:{{schema:@Recipe:recipeIngredient}}、{{schema:author.name}}

よく使うフィルター:date、duration、wikilink、list(task または numbered と組み合わせる)、join、replace、safe_name、markdown、remove_html、blockquote、callout。データが欠けている場合は、テンプレートのロジック({% if %}、{% for %}、{% set %}、そしてフォールバック用の ??)で対処します。

テンプレートの保守から解放されたいなら

テンプレートには、ドキュメントが触れていないコストが一つあります。保守です。サイトのマークアップは変わり、セレクターは黙って壊れ、何週間も経ってから空っぽのノートが届いて初めて気づきます。何十ものサイトからクリップしていると、小さなコードベースを抱え込むことになります。

Minibaseは別の道を選びました。サイトごとのテンプレートの代わりに、数百のサイト(Xのスレッド、Reddit、GitHub、ChatGPTやClaudeとの会話、ドキュメントページなど)に専用の処理を用意し、設定なしでフロントマター付きのきれいなMarkdownを返します。.md ファイルはMinibase Vaultのフォルダに保存されるので、そこをObsidianで開けば、ほかのノートと同じようにVaultに並びます。

無料プランは月20回まで保存でき、アカウントも不要です。Minibase+(月額5.99ドル、または年額34.99ドル)では、20種類以上のAIテンプレート(Obsidian、Academic、Recipe、Cornell notes、Flashcardsなど)と、YouTube、Reels、TikTokの動画の文字起こしが加わります。YouTubeの文字起こしの仕組みもご覧ください。

Obsidianの名誉のために言っておくと、クリップするサイトが数えるほどで、ノートを調整するのが楽しいなら、上のテンプレートを入れた公式クリッパーは素晴らしい選択で、費用もかかりません。CSSセレクターのデバッグをしたくないなら、Minibaseは手間のかからない選択肢です。両方を使っても何の問題もありません。2つを並べて比較した記事はObsidian Web Clipper vs Minibaseです。

よくある質問

Obsidian Web Clipperのテンプレートをもっと見つけるには? Kepano氏のGitHubリポジトリclipper-templatesに、YouTube、Wikipedia、レシピ、IMDb、Goodreads、arXivなどのテンプレートがあります。ObsidianのフォーラムやDiscordにも、コミュニティ製のテンプレートがたくさんあります。

Web ClipperでYouTubeの字幕を保存できますか? はい、動画に字幕がある場合はできます。最近のバージョンでは、YouTubeのページで {{transcript}} 変数が使えます。字幕のない動画には、取り込める字幕そのものがありません。

テンプレートが発動しないのはなぜですか? たいていは順番の問題で、リストの上にある別のテンプレートが先に一致しています。また、シンプルなトリガーがURLの先頭と正確に一致しているかも確認してください(https://www. と https:// の違いなど)。

プロンプト変数にお金はかかりますか? Interpreterで設定したモデルで実行されます。クラウドのプロバイダーならAPIキーに課金され、Ollama経由のローカルモデルなら無料です。

Continue reading

よりスマートに保存しませんか?

あらゆるウェブページをワンクリックでMarkdownに変換。

Chromeに追加