Obsidian Vault を使う
すでに Obsidian Vault を持っている場合、Riebeckite はその Vault をサイトのコンテンツとして読むことができます。まずはローカルで 1 つのノートを公開し、リンクと画像を確認してから dist/ をビルドします。
始める前に
必要なものは次の3つです。
- Node.js
- 既存の Obsidian Vault
- 公開してよいノート 1 つ
Riebeckite は Obsidian のワークスペース設定を必要としません。.obsidian/ は自動的に無視されるため、Vault から削除する必要はありません。
1. Riebeckite サイトを作る
Vault の隣にサイトを作ります。
npx create-riebeckite my-site --preset starter
cd my-site
starter preset には、WikiLink、埋め込み、Callout、タグを扱う Obsidian Markdown plugin が最初から入っています。
2. Vault を接続する
riebeckite.config.ts を開き、content.directory を Vault に向けます。
content: {
directory: "../my-vault",
},
../my-vault は、my-site から見た Vault への相対パスに置き換えてください。
3. 公開するノートを選ぶ
Riebeckite は、既定では明示的に指定したノートだけを公開します。
公開したいノートに、次の frontmatter を追加します。
---
title: Hello
publish: true
tags:
- example
aliases:
- Hello note
---
意味は次のとおりです。
publish: trueのノートは公開ページとして生成されます。publish: falseのノートはビルド結果に含まれません。publishがないノートは、既定のstarter構成では下書きとして扱われます。
公開ノートから未公開のノートへリンクすると、リンク先ページは生成されず、そのリンクも公開サイトで有効なリンクとしては公開されません(壊れたリンクと同じ表示になります)。@riebeckite/plugin-diagnostics の riebeckite-diagnostics を実行すると、これらの参照が publish-boundary 警告として表示されます。
4. Riebeckite を起動する
依存関係を入れ、check を実行します。
npm install
npm exec riebeckite check
続いてローカルプレビューを起動します。
npm exec riebeckite dev
ターミナルに表示されたローカル URL を開いてください。
開発サーバーを起動したまま Obsidian でノートを保存すると、次のページ表示に内容が反映されます。公開設定の変更もそのまま反映されます。
5. WikiLink と画像を確認する
以下は、Fresh starter サイトと小さなテスト Vault で実際に確認した例です。
WikiLink は次のように書きます。
[[hello]]
[[hello|custom hello label]]
[[hello#Details|hello details]]
[[Hello note]]
Vault 内の画像は、Obsidian の埋め込み構文で参照できます。
![[sample.png]]
Riebeckite は Vault から画像を解決し、公開ノートから参照されている画像を build 時に dist/ へコピーします。この基本ケースでは、Riebeckite 用に画像を別フォルダへ移動する必要はありません。
公開ノートの埋め込みも使えます。
![[embedded]]
6. サイトをビルドする
ローカル表示に問題がなければ、静的サイトをビルドします。
npm exec riebeckite build
出力先は dist/ です。
Obsidian の何が使えるか
| Obsidian の機能 | Riebeckite での扱い |
|---|---|
| Markdown | 標準の Markdown として対応 |
| WikiLinks | starter の Obsidian Markdown plugin で対応 |
| WikiLink aliases | `[[note |
| Heading links | [[note#Heading]] に対応 |
| Images | ![[sample.png]] のような公開ノートから参照される画像に対応 |
| Note embeds | 公開 Markdown ノートの埋め込みに対応 |
| Callouts | > [!NOTE] に対応 |
| Tags | Obsidian Markdown plugin でタグ化。tag ページは starter の taxonomy plugin が提供 |
| Frontmatter | 対応 |
| Obsidian aliases | aliases: を WikiLink 解決に利用 |
publish |
対応。publish: true が公開、下書きはビルドされない |
| Canvas | @riebeckite/plugin-canvas が必要 |
| Excalidraw | @riebeckite/plugin-excalidraw が必要 |
| Bases | @riebeckite/plugin-bases が必要 |
| Mermaid | 図として描画するには @riebeckite/plugin-mermaid が必要。未導入ならコードブロックとして扱われる |
.obsidian/ |
Riebeckite には不要。自動的に無視される |
Vault を別リポジトリで管理する
最短ルートは、ローカルの Vault フォルダを content.directory に指定する方法です。Vault とサイトを別々の GitHub リポジトリで管理したい場合は、Separate content repository の構成を使います。
GitHub Actions の設定は Content Repositories を参照してください。
次のステップ
- 必要なノートだけに
publish: trueを付ける - config を変更したら
npm exec riebeckite checkを実行する - 公開前に
npm exec riebeckite buildを実行する - 機能を追加したくなったら 最初の Plugin を追加する を読む