Prompt
Obsidianで、他の記事の内容を記事に埋め込むことはできる?欲を言えば、他の記事の断片だけを。
そして、それはQuartzでも可能?
もちろんできるよ!君の「第二の脳」をより強力に、そして「ラクラク」にするための素晴らしい機能だね。
Obsidianには、他の記事をそのまま表示する 「埋め込み(Transclusion/Embed)」 という機能が備わっていて、Quartzもそれをしっかりサポートしているよ。
やり方は主に3つのレベルがあるから、状況に合わせて使い分けてみて。
1. 📄 記事を丸ごと埋め込む
記事のタイトルを ![[記事名]] と書くだけで、その記事の中身が現在の記事内に展開されるよ。
Markdown
![[Javaの基礎]]
-
Obsidian: その場所に「Javaの基礎」の内容が表示される。
-
Quartz: 同様に内容が埋め込まれて表示される。
2. 📑 記事の特定の「見出し」だけを埋め込む(断片その1)
見出し(ハッシュタグ記法)を使って、そのセクションだけを抜き出すことができるよ。
Markdown
![[Javaの基礎#継承とは|継承とは]]
これで、「Javaの基礎」という記事の中にある「## 継承とは」のセクションだけが表示されるんだ。
3. 🧩 記事の特定の「ブロック」だけを埋め込む(断片その2)
「見出しにするほどでもない、この1段落だけを引用したい!」という時に最強なのが ブロック参照 だ。
-
参照元: 引用したい段落の末尾に
^unique-id(半角スペース+キャレット+任意のID)を付ける。 -
参照先:
![[記事名#^unique-id|^unique-id]]と書く。
Markdown
# 参照元 (Article A)
Javaの匿名クラスは便利だよね。 ^java-anon
# 参照先 (Article B)
この記事でも言った通り:
![[Article A#^java-anon|^java-anon]]
🛠️ Quartzでの動作の仕組み(エンジニア向け豆知識)
君が持っているQuartzのソースコード ofm.ts を見ると、この埋め込み処理の裏側がわかるよ!
-
正規表現での検出:
wikilinkRegexが!で始まるリンクを検出し、それが「画像」なのか「埋め込み記事」なのかを判別している。 -
トランスクルージョンの生成: 記事の埋め込み(Transclude)と判断されると、内部的に
blockquoteタグにdata-urlやdata-block属性を付与したHTML要素に変換されるんだ。 -
ブロック参照の解決:
parseBlockReferencesという処理が、テキスト内の^idを探し出し、正しく紐付けてくれているよ。
💡 結論
Obsidianでできる「埋め込み」のほとんどは、Quartzでもそのまま動く!
これを活用すれば、ひとつの「Javaの定義」を1箇所に書いておき、他の複数の記事でそれを使い回す、という DRY (Don’t Repeat Yourself) なノート術が可能になるね。
さっそく、過去のAIとの対話ログから「しびれる一節」を自分のメイン記事に埋め込んでみたらどうかな?✨