Color mode

Obsidian のノートをサイトにする

Riebeckite では、普段使っている Obsidian Vault をそのまま記事の置き場所として利用できます。

既存の Vault を Riebeckite 用に作り直したり、Markdown を別の形式へ変換したりする必要はありません。

基本的な流れは次のとおりです。

Diagram source
text
flowchart LR
    Obsidian["Obsidianで書く"]
    Publish["publish: true"]
    Riebeckite["Riebeckite"]
    Preview["ブラウザで確認"]
    Site["公開Site"]
 
    Obsidian --> Publish
    Publish --> Riebeckite
    Riebeckite --> Preview
    Preview --> Site

Riebeckite に Vault の場所を指定し、公開したいノートだけに publish: true を付けるのが基本です。

既存の Vault はそのまま使える

Obsidian Vault は Markdown ファイルが入ったフォルダです。

Riebeckite も指定されたフォルダから Markdown を読み込むため、content.directory に Vault の場所を指定すれば Content として利用できます。

たとえば、

text
notes/
├─ Welcome.md
├─ Programming/
│  └─ Flutter.md
├─ private/
│  └─ memo.md
└─ .obsidian/

という既存 Vault を、そのまま Riebeckite から読み込めます。

通常の、

text
dev
check
doctor
inspect
build

を実行しても、Riebeckite が Vault の Markdown を整理したり、勝手に書き換えたりすることはありません。

ノートの編集はこれまでどおり Obsidian で行います。

公開するノートを選ぶ

既定の公開ルールでは、Frontmatter に、

yaml
publish: true

があるノートだけを公開します。

たとえば、

md
---
title: 公開する記事
publish: true
---
 
この記事は公開されます。

とします。

一方、

md
---
title: 個人的なメモ
---
 
これは個人的なメモです。

には publish: true がないため、公開対象になりません。

Diagram source
text
flowchart TD
    Vault["Obsidian Vault"]
 
    Vault --> A["公開記事<br/>publish: true"]
    Vault --> B["下書き"]
    Vault --> C["個人的なメモ"]
 
    A --> Site["Public Site"]
    B -.->|"公開しない"| Site
    C -.->|"公開しない"| Site

そのため、

公開記事と個人的なノートを同じ Vault に置いたまま運用できます。

Vault の置き方

Vault の配置方法は、大きく2つあります。

パターンA:Site の content/ を Vault にする

最も簡単な方法です。

Riebeckite Site の、

text
content/

をそのまま Obsidian Vault として開きます。

text
my-site/
├─ content/              ← Obsidianで開く
│  ├─ Welcome.md
│  └─ Articles/
│     └─ FirstArticle.md
│
├─ riebeckite.config.ts
└─ package.json

この場合は標準設定のまま利用できます。

ts
content: {
  directory: "content",
},

初めて Riebeckite と Obsidian を組み合わせるなら、この方法が最も単純です。

text
my-site/content/
       ↓
Obsidian Vault
       ↓
Riebeckite Content

同じフォルダが両方の役割を持ちます。

パターンB:既存 Vault を利用する

すでに Obsidian Vault がある場合は、Site の外に置いたまま利用できます。

たとえば、

text
workspace/
├─ notes/                ← 既存のObsidian Vault
│  ├─ Welcome.md
│  ├─ Programming/
│  └─ .obsidian/
│
└─ my-site/              ← Riebeckite Site
   ├─ app/
   ├─ riebeckite.config.ts
   └─ package.json

という構成にします。

my-site/riebeckite.config.ts から Vault を指定します。

ts
content: {
  directory: "../notes",
},

これだけで notes/ を Riebeckite の Content Directory として利用できます。

Diagram source
text
flowchart LR
    Vault["notes/<br/>Obsidian Vault"]
    Site["my-site/<br/>Riebeckite"]
    Build["Build"]
    Public["Public Site"]
 
    Vault --> Build
    Site --> Build
    Build --> Public

Vault を Site Directory へコピーする必要はありません。

Repository 自体も分離したい場合は、記事とサイトのリポジトリ分離 を参照してください。

どちらを選ぶ?

迷った場合は、次の基準で選べます。

状況 おすすめ
初めて Riebeckite を使う content/ を Vault にする
すでに Vault がある 既存 Vault を指定する
Vault と Site の Git 履歴を分けたい Repository を分離する
Vault を Private Repository にしたい Repository を分離する

既存 Vault があるなら、Riebeckite のためだけに移動する必要はありません。

Obsidian で記事を書く

公開する記事には、最低限 title と publish を指定します。

md
---
title: 記事のタイトル
publish: true
---
 
本文を書きます。

本文は通常の Markdown として書けます。

md
# 見出し
 
本文を書きます。
 
## 次の見出し
 
さらに本文を書きます。

Obsidian の WikiLink も利用できます。

md
詳しくは [[別の記事]] を参照してください。

対応する Plugin が、Riebeckite の Content 情報を使って公開先のリンクを解決します。

ファイル名と URL

ファイル名は Content の識別や既定の Public Location を決める材料になります。

たとえば、

text
getting-started.md

のような分かりやすい名前にしておくと、Vault と Site の両方で管理しやすくなります。

ただし、Riebeckite では最終的な URL は解決済みの Public Location として扱われます。

そのため、

text
ファイルの物理Path
=
常に公開URL

と考えないようにしてください。

Plugin や設定によって Public Location が変更される場合があります。

URL の仕組みを詳しく知りたい場合は Content System を参照してください。

Obsidian の設定ファイル

Vault には通常、

text
.obsidian/

があります。

これは Obsidian 自体の設定であり、記事ではありません。

必要に応じて content.exclude から除外できます。

ts
content: {
  directory: "../notes",
 
  exclude: [
    ".obsidian/**",
  ],
},

Template や Private Directory も Content として読み込みたくない場合は、

ts
content: {
  directory: "../notes",
 
  exclude: [
    ".obsidian/**",
    "Templates/**",
    "private/**",
  ],
},

のように指定できます。

exclude と publish: true

この2つは役割が異なります。

Diagram source
text
flowchart LR
    Vault["Vault"]
 
    Vault --> Exclude{"exclude?"}
    Exclude -->|"Yes"| Ignore["読み込まない"]
    Exclude -->|"No"| Read["Contentとして読む"]
 
    Read --> Publish{"publish: true?"}
    Publish -->|"Yes"| Public["公開"]
    Publish -->|"No"| Private["公開しない"]

exclude は、

Riebeckite に Content として読み込ませないもの

を指定します。

publish: true は、

読み込んだ Content の中から公開するもの

を指定します。

たとえば、

text
.obsidian/
Templates/
private/

のように明らかに Site で扱わない Directory は exclude し、それ以外の Note は publish: true で公開を選ぶ、という使い方ができます。

非公開メモを混ぜる

Private Note や下書きを同じ Vault に置く場合は、publish: true を付けません。

md
---
title: 個人的なメモ
---
 
公開しない内容です。

既定の公開ルールなら、この Note は Site に公開されません。

一方、公開記事は、

md
---
title: 公開記事
publish: true
---
 
公開する内容です。

とします。

Private Vault を扱う場合は、公開するものだけを明示する運用にすると管理しやすくなります。

公開記事から非公開ノートへのリンク

公開記事から、

md
[[個人的なメモ]]

のように非公開 Note へリンクしてしまうことがあります。

公開前には、

sh
npm exec riebeckite doctor

などで問題がないか確認してください。

Site 内リンクの整合性を診断する Plugin を利用している場合は、公開先が存在しない WikiLink なども検出できます。

画像と添付ファイル

画像や添付ファイルも Vault 内で管理できます。

たとえば、

text
notes/
├─ article.md
└─ images/
   └─ photo.jpg

のようにします。

Markdown からは、

md
![写真](/images/photo.jpg)

のように参照できます。

ただし、ここでは Markdown から画像を参照できることと、画像ファイル自体が公開 Site に存在することを分けて考える必要があります。

Diagram source
text
flowchart LR
    Note["Markdown"]
    Link["画像への参照"]
    Public["Public Asset"]
    Browser["Browser"]
 
    Note --> Link
    Link --> Public
    Public --> Browser

Vault の外にある File や、Build 後の Public Output に存在しない File は表示できません。

添付ファイルを Site へ公開する構成では、公開対象の Asset が実際に Output へ含まれていることも確認してください。

名前が重複したときのリンク解決

Riebeckite は [[リンク]] を Note の Path、Alias、添付ファイル名から解決します。同じ名前の Note、Alias、添付ファイルが複数あると、名前だけの [[note]] では対象を1つに特定できません。

このとき Riebeckite は推測せず、リンクを未解決のままにし、doctor が曖昧なリンクとして報告します。

text
x/dup.md
y/dup.md
md
[[dup]]        ← 曖昧
[[x/dup]]      ← Path を指定しているので x/dup.md に解決

公開するリンクが必ず1つの対象を指すように、Folder を含む Path を書くか、どちらかのファイル名を変更してください。

Site を確認する

記事を書いたら、Riebeckite Site の Directory で Development Server を起動します。

sh
npm exec riebeckite dev

Browser で公開対象の記事を確認します。

問題がないか確認する場合は、

sh
npm exec riebeckite check
npm exec riebeckite doctor

を実行できます。

実際に Riebeckite がどの Content を認識しているか確認したい場合は、

sh
npm exec -- riebeckite inspect content --list

を利用できます。

記事が表示されないとき

記事が表示されない場合は、次の順番で確認すると原因を絞りやすくなります。

Diagram source
text
flowchart TD
    Start["記事が表示されない"]
 
    Start --> Dir{"正しいVaultを<br/>読んでいる?"}
 
    Dir -->|No| Config["content.directoryを確認"]
    Dir -->|Yes| Excluded{"excludeされている?"}
 
    Excluded -->|Yes| Exclude["content.excludeを確認"]
    Excluded -->|No| Publish{"publish: true<br/>がある?"}
 
    Publish -->|No| Frontmatter["Frontmatterを追加"]
    Publish -->|Yes| Diagnose["check / doctor"]

解決済みの Content Directory は、

sh
npm exec riebeckite inspect config

で確認できます。

読み込まれている Content は、

sh
npm exec -- riebeckite inspect content --list

で確認できます。

普段の使い方

設定が終わった後は、特別な操作はほとんど必要ありません。

Diagram source
text
flowchart TD
    Write["Obsidianでノートを書く"]
    Decide{"公開する?"}
 
    Decide -->|Yes| Publish["publish: true"]
    Decide -->|No| Private["そのまま"]
 
    Write --> Decide
 
    Publish --> Dev["Riebeckiteで確認"]
    Private --> Write
 
    Dev --> Push["Commit / Deploy"]

つまり、普段の執筆方法はこれまでとほぼ同じです。

Obsidian で書き、公開したい Note にだけ publish: true を付けます。

Riebeckite は、その Vault を公開 Site の Content Source として利用します。

まとめ

Obsidian と Riebeckite の関係はシンプルです。

text
Obsidian Vault
      ↓
Markdown
      ↓
Riebeckite
      ↓
publish: true のNote
      ↓
Public Site

既存 Vault を Riebeckite 用に作り直す必要はありません。

最初から始めるなら、

text
my-site/content/
  → Obsidian Vault

既存 Vault があるなら、

text
notes/
  → 既存Vault
 
my-site/
  → Riebeckite Site

という構成が使えます。

Vault の場所と公開範囲は分けて考えます。

  • content.directory → どの Vault を読むか
  • exclude → 何を Content として読まないか
  • publish: true → 何を Site に公開するか

この3つを分けて設定すれば、普段の Obsidian Vault に非公開 Note を残したまま、必要な記事だけを Riebeckite で公開できます。

次に読むもの

History

1 changesCollapseExpand
1 + # Obsidian のノートをサイトにする
2 +
3 + Riebeckite では、**普段使っている Obsidian Vault をそのまま記事の置き場所として利用できます。**
4 +
5 + 既存の Vault を Riebeckite 用に作り直したり、Markdown を別の形式へ変換したりする必要はありません。
6 +
7 + 基本的な流れは次のとおりです。
8 +
9 + ```mermaid id="4iixgb"
10 + flowchart LR
11 + Obsidian["Obsidianで書く"]
12 + Publish["publish: true"]
13 + Riebeckite["Riebeckite"]
14 + Preview["ブラウザで確認"]
15 + Site["公開Site"]
16 +
17 + Obsidian --> Publish
18 + Publish --> Riebeckite
19 + Riebeckite --> Preview
20 + Preview --> Site
21 + ```
22 +
23 + Riebeckite に Vault の場所を指定し、**公開したいノートだけに `publish: true` を付ける**のが基本です。
24 +
25 + ## 既存の Vault はそのまま使える
26 +
27 + Obsidian Vault は Markdown ファイルが入ったフォルダです。
28 +
29 + Riebeckite も指定されたフォルダから Markdown を読み込むため、`content.directory` に Vault の場所を指定すれば Content として利用できます。
30 +
31 + たとえば、
32 +
33 + ```text id="ztw0m3"
34 + notes/
35 + ├─ Welcome.md
36 + ├─ Programming/
37 + │ └─ Flutter.md
38 + ├─ private/
39 + │ └─ memo.md
40 + └─ .obsidian/
41 + ```
42 +
43 + という既存 Vault を、そのまま Riebeckite から読み込めます。
44 +
45 + 通常の、
46 +
47 + ```text id="52h4vi"
48 + dev
49 + check
50 + doctor
51 + inspect
52 + build
53 + ```
54 +
55 + を実行しても、Riebeckite が Vault の Markdown を整理したり、勝手に書き換えたりすることはありません。
56 +
57 + ノートの編集はこれまでどおり Obsidian で行います。
58 +
59 + ## 公開するノートを選ぶ
60 +
61 + 既定の公開ルールでは、Frontmatter に、
62 +
63 + ```yaml id="mm8gy2"
64 + publish: true
65 + ```
66 +
67 + があるノートだけを公開します。
68 +
69 + たとえば、
70 +
71 + ```md id="6kpm95"
72 + ---
73 + title: 公開する記事
74 + publish: true
75 + ---
76 +
77 + この記事は公開されます。
78 + ```
79 +
80 + とします。
81 +
82 + 一方、
83 +
84 + ```md id="c04z4a"
85 + ---
86 + title: 個人的なメモ
87 + ---
88 +
89 + これは個人的なメモです。
90 + ```
91 +
92 + には `publish: true` がないため、公開対象になりません。
93 +
94 + ```mermaid id="mr9bb1"
95 + flowchart TD
96 + Vault["Obsidian Vault"]
97 +
98 + Vault --> A["公開記事<br/>publish: true"]
99 + Vault --> B["下書き"]
100 + Vault --> C["個人的なメモ"]
101 +
102 + A --> Site["Public Site"]
103 + B -.->|"公開しない"| Site
104 + C -.->|"公開しない"| Site
105 + ```
106 +
107 + そのため、
108 +
109 + **公開記事と個人的なノートを同じ Vault に置いたまま運用できます。**
110 +
111 + ## Vault の置き方
112 +
113 + Vault の配置方法は、大きく2つあります。
114 +
115 + ### パターンA:Site の `content/` を Vault にする
116 +
117 + 最も簡単な方法です。
118 +
119 + Riebeckite Site の、
120 +
121 + ```text id="bgatph"
122 + content/
123 + ```
124 +
125 + をそのまま Obsidian Vault として開きます。
126 +
127 + ```text id="f7zqjr"
128 + my-site/
129 + ├─ content/ ← Obsidianで開く
130 + │ ├─ Welcome.md
131 + │ └─ Articles/
132 + │ └─ FirstArticle.md
133 + │
134 + ├─ riebeckite.config.ts
135 + └─ package.json
136 + ```
137 +
138 + この場合は標準設定のまま利用できます。
139 +
140 + ```ts id="7o5xhd"
141 + content: {
142 + directory: "content",
143 + },
144 + ```
145 +
146 + 初めて Riebeckite と Obsidian を組み合わせるなら、この方法が最も単純です。
147 +
148 + ```text id="ohx0fd"
149 + my-site/content/
150 + ↓
151 + Obsidian Vault
152 + ↓
153 + Riebeckite Content
154 + ```
155 +
156 + 同じフォルダが両方の役割を持ちます。
157 +
158 + ## パターンB:既存 Vault を利用する
159 +
160 + すでに Obsidian Vault がある場合は、Site の外に置いたまま利用できます。
161 +
162 + たとえば、
163 +
164 + ```text id="k06dgu"
165 + workspace/
166 + ├─ notes/ ← 既存のObsidian Vault
167 + │ ├─ Welcome.md
168 + │ ├─ Programming/
169 + │ └─ .obsidian/
170 + │
171 + └─ my-site/ ← Riebeckite Site
172 + ├─ app/
173 + ├─ riebeckite.config.ts
174 + └─ package.json
175 + ```
176 +
177 + という構成にします。
178 +
179 + `my-site/riebeckite.config.ts` から Vault を指定します。
180 +
181 + ```ts id="czcujq"
182 + content: {
183 + directory: "../notes",
184 + },
185 + ```
186 +
187 + これだけで `notes/` を Riebeckite の Content Directory として利用できます。
188 +
189 + ```mermaid id="yt9bfr"
190 + flowchart LR
191 + Vault["notes/<br/>Obsidian Vault"]
192 + Site["my-site/<br/>Riebeckite"]
193 + Build["Build"]
194 + Public["Public Site"]
195 +
196 + Vault --> Build
197 + Site --> Build
198 + Build --> Public
199 + ```
200 +
201 + Vault を Site Directory へコピーする必要はありません。
202 +
203 + Repository 自体も分離したい場合は、[記事とサイトのリポジトリ分離](./content-repositories.ja.md) を参照してください。
204 +
205 + ## どちらを選ぶ?
206 +
207 + 迷った場合は、次の基準で選べます。
208 +
209 + | 状況 | おすすめ |
210 + | --- | --- |
211 + | 初めて Riebeckite を使う | `content/` を Vault にする |
212 + | すでに Vault がある | 既存 Vault を指定する |
213 + | Vault と Site の Git 履歴を分けたい | Repository を分離する |
214 + | Vault を Private Repository にしたい | Repository を分離する |
215 +
216 + 既存 Vault があるなら、Riebeckite のためだけに移動する必要はありません。
217 +
218 + ## Obsidian で記事を書く
219 +
220 + 公開する記事には、最低限 `title` と `publish` を指定します。
221 +
222 + ```md id="9y29hw"
223 + ---
224 + title: 記事のタイトル
225 + publish: true
226 + ---
227 +
228 + 本文を書きます。
229 + ```
230 +
231 + 本文は通常の Markdown として書けます。
232 +
233 + ```md id="wm76s7"
234 + # 見出し
235 +
236 + 本文を書きます。
237 +
238 + ## 次の見出し
239 +
240 + さらに本文を書きます。
241 + ```
242 +
243 + Obsidian の WikiLink も利用できます。
244 +
245 + ```md id="5d4bby"
246 + 詳しくは [[別の記事]] を参照してください。
247 + ```
248 +
249 + 対応する Plugin が、Riebeckite の Content 情報を使って公開先のリンクを解決します。
250 +
251 + ## ファイル名と URL
252 +
253 + ファイル名は Content の識別や既定の Public Location を決める材料になります。
254 +
255 + たとえば、
256 +
257 + ```text id="x1m3cc"
258 + getting-started.md
259 + ```
260 +
261 + のような分かりやすい名前にしておくと、Vault と Site の両方で管理しやすくなります。
262 +
263 + ただし、Riebeckite では最終的な URL は解決済みの Public Location として扱われます。
264 +
265 + そのため、
266 +
267 + ```text id="12x76m"
268 + ファイルの物理Path
269 + =
270 + 常に公開URL
271 + ```
272 +
273 + と考えないようにしてください。
274 +
275 + Plugin や設定によって Public Location が変更される場合があります。
276 +
277 + URL の仕組みを詳しく知りたい場合は [Content System](../framework/content-system.ja.md) を参照してください。
278 +
279 + ## Obsidian の設定ファイル
280 +
281 + Vault には通常、
282 +
283 + ```text id="wm1hpc"
284 + .obsidian/
285 + ```
286 +
287 + があります。
288 +
289 + これは Obsidian 自体の設定であり、記事ではありません。
290 +
291 + 必要に応じて `content.exclude` から除外できます。
292 +
293 + ```ts id="0vwyam"
294 + content: {
295 + directory: "../notes",
296 +
297 + exclude: [
298 + ".obsidian/**",
299 + ],
300 + },
301 + ```
302 +
303 + Template や Private Directory も Content として読み込みたくない場合は、
304 +
305 + ```ts id="xemlcl"
306 + content: {
307 + directory: "../notes",
308 +
309 + exclude: [
310 + ".obsidian/**",
311 + "Templates/**",
312 + "private/**",
313 + ],
314 + },
315 + ```
316 +
317 + のように指定できます。
318 +
319 + ## `exclude` と `publish: true`
320 +
321 + この2つは役割が異なります。
322 +
323 + ```mermaid id="0q16fr"
324 + flowchart LR
325 + Vault["Vault"]
326 +
327 + Vault --> Exclude{"exclude?"}
328 + Exclude -->|"Yes"| Ignore["読み込まない"]
329 + Exclude -->|"No"| Read["Contentとして読む"]
330 +
331 + Read --> Publish{"publish: true?"}
332 + Publish -->|"Yes"| Public["公開"]
333 + Publish -->|"No"| Private["公開しない"]
334 + ```
335 +
336 + `exclude` は、
337 +
338 + **Riebeckite に Content として読み込ませないもの**
339 +
340 + を指定します。
341 +
342 + `publish: true` は、
343 +
344 + **読み込んだ Content の中から公開するもの**
345 +
346 + を指定します。
347 +
348 + たとえば、
349 +
350 + ```text id="z7yyqm"
351 + .obsidian/
352 + Templates/
353 + private/
354 + ```
355 +
356 + のように明らかに Site で扱わない Directory は `exclude` し、それ以外の Note は `publish: true` で公開を選ぶ、という使い方ができます。
357 +
358 + ## 非公開メモを混ぜる
359 +
360 + Private Note や下書きを同じ Vault に置く場合は、`publish: true` を付けません。
361 +
362 + ```md id="0n1eqs"
363 + ---
364 + title: 個人的なメモ
365 + ---
366 +
367 + 公開しない内容です。
368 + ```
369 +
370 + 既定の公開ルールなら、この Note は Site に公開されません。
371 +
372 + 一方、公開記事は、
373 +
374 + ```md id="d8iz87"
375 + ---
376 + title: 公開記事
377 + publish: true
378 + ---
379 +
380 + 公開する内容です。
381 + ```
382 +
383 + とします。
384 +
385 + Private Vault を扱う場合は、**公開するものだけを明示する**運用にすると管理しやすくなります。
386 +
387 + ## 公開記事から非公開ノートへのリンク
388 +
389 + 公開記事から、
390 +
391 + ```md id="tm0f93"
392 + [[個人的なメモ]]
393 + ```
394 +
395 + のように非公開 Note へリンクしてしまうことがあります。
396 +
397 + 公開前には、
398 +
399 + ```sh id="4ehd60"
400 + npm exec riebeckite doctor
401 + ```
402 +
403 + などで問題がないか確認してください。
404 +
405 + Site 内リンクの整合性を診断する Plugin を利用している場合は、公開先が存在しない WikiLink なども検出できます。
406 +
407 + ## 画像と添付ファイル
408 +
409 + 画像や添付ファイルも Vault 内で管理できます。
410 +
411 + たとえば、
412 +
413 + ```text id="tyn3v3"
414 + notes/
415 + ├─ article.md
416 + └─ images/
417 + └─ photo.jpg
418 + ```
419 +
420 + のようにします。
421 +
422 + Markdown からは、
423 +
424 + ```md id="mmg4ki"
425 + ![写真](/images/photo.jpg)
426 + ```
427 +
428 + のように参照できます。
429 +
430 + ただし、ここでは **Markdown から画像を参照できること**と、**画像ファイル自体が公開 Site に存在すること**を分けて考える必要があります。
431 +
432 + ```mermaid id="ih1u6m"
433 + flowchart LR
434 + Note["Markdown"]
435 + Link["画像への参照"]
436 + Public["Public Asset"]
437 + Browser["Browser"]
438 +
439 + Note --> Link
440 + Link --> Public
441 + Public --> Browser
442 + ```
443 +
444 + Vault の外にある File や、Build 後の Public Output に存在しない File は表示できません。
445 +
446 + 添付ファイルを Site へ公開する構成では、公開対象の Asset が実際に Output へ含まれていることも確認してください。
447 +
448 + ## 名前が重複したときのリンク解決
449 +
450 + Riebeckite は `[[リンク]]` を Note の Path、Alias、添付ファイル名から解決します。同じ名前の Note、Alias、添付ファイルが複数あると、名前だけの `[[note]]` では対象を1つに特定できません。
451 +
452 + このとき Riebeckite は推測せず、リンクを未解決のままにし、`doctor` が曖昧なリンクとして報告します。
453 +
454 + ```text id="dup1aa"
455 + x/dup.md
456 + y/dup.md
457 + ```
458 +
459 + ```md id="dup2bb"
460 + [[dup]] ← 曖昧
461 + [[x/dup]] ← Path を指定しているので x/dup.md に解決
462 + ```
463 +
464 + 公開するリンクが必ず1つの対象を指すように、Folder を含む Path を書くか、どちらかのファイル名を変更してください。
465 +
466 + ## Site を確認する
467 +
468 + 記事を書いたら、Riebeckite Site の Directory で Development Server を起動します。
469 +
470 + ```sh id="uejsnw"
471 + npm exec riebeckite dev
472 + ```
473 +
474 + Browser で公開対象の記事を確認します。
475 +
476 + 問題がないか確認する場合は、
477 +
478 + ```sh id="b4s9ol"
479 + npm exec riebeckite check
480 + npm exec riebeckite doctor
481 + ```
482 +
483 + を実行できます。
484 +
485 + 実際に Riebeckite がどの Content を認識しているか確認したい場合は、
486 +
487 + ```sh id="h7xl6g"
488 + npm exec -- riebeckite inspect content --list
489 + ```
490 +
491 + を利用できます。
492 +
493 + ## 記事が表示されないとき
494 +
495 + 記事が表示されない場合は、次の順番で確認すると原因を絞りやすくなります。
496 +
497 + ```mermaid id="b5j2z0"
498 + flowchart TD
499 + Start["記事が表示されない"]
500 +
501 + Start --> Dir{"正しいVaultを<br/>読んでいる?"}
502 +
503 + Dir -->|No| Config["content.directoryを確認"]
504 + Dir -->|Yes| Excluded{"excludeされている?"}
505 +
506 + Excluded -->|Yes| Exclude["content.excludeを確認"]
507 + Excluded -->|No| Publish{"publish: true<br/>がある?"}
508 +
509 + Publish -->|No| Frontmatter["Frontmatterを追加"]
510 + Publish -->|Yes| Diagnose["check / doctor"]
511 + ```
512 +
513 + 解決済みの Content Directory は、
514 +
515 + ```sh id="99glhk"
516 + npm exec riebeckite inspect config
517 + ```
518 +
519 + で確認できます。
520 +
521 + 読み込まれている Content は、
522 +
523 + ```sh id="csgeqn"
524 + npm exec -- riebeckite inspect content --list
525 + ```
526 +
527 + で確認できます。
528 +
529 + ## 普段の使い方
530 +
531 + 設定が終わった後は、特別な操作はほとんど必要ありません。
532 +
533 + ```mermaid id="kav3eq"
534 + flowchart TD
535 + Write["Obsidianでノートを書く"]
536 + Decide{"公開する?"}
537 +
538 + Decide -->|Yes| Publish["publish: true"]
539 + Decide -->|No| Private["そのまま"]
540 +
541 + Write --> Decide
542 +
543 + Publish --> Dev["Riebeckiteで確認"]
544 + Private --> Write
545 +
546 + Dev --> Push["Commit / Deploy"]
547 + ```
548 +
549 + つまり、普段の執筆方法はこれまでとほぼ同じです。
550 +
551 + **Obsidian で書き、公開したい Note にだけ `publish: true` を付けます。**
552 +
553 + Riebeckite は、その Vault を公開 Site の Content Source として利用します。
554 +
555 + ## まとめ
556 +
557 + Obsidian と Riebeckite の関係はシンプルです。
558 +
559 + ```text id="f1sfdm"
560 + Obsidian Vault
561 + ↓
562 + Markdown
563 + ↓
564 + Riebeckite
565 + ↓
566 + publish: true のNote
567 + ↓
568 + Public Site
569 + ```
570 +
571 + 既存 Vault を Riebeckite 用に作り直す必要はありません。
572 +
573 + 最初から始めるなら、
574 +
575 + ```text id="7vtvgj"
576 + my-site/content/
577 + → Obsidian Vault
578 + ```
579 +
580 + 既存 Vault があるなら、
581 +
582 + ```text id="7w2i31"
583 + notes/
584 + → 既存Vault
585 +
586 + my-site/
587 + → Riebeckite Site
588 + ```
589 +
590 + という構成が使えます。
591 +
592 + **Vault の場所と公開範囲は分けて考えます**。
593 +
594 + - `content.directory` → どの Vault を読むか
595 + - `exclude` → 何を Content として読まないか
596 + - `publish: true` → 何を Site に公開するか
597 +
598 + この3つを分けて設定すれば、普段の Obsidian Vault に非公開 Note を残したまま、必要な記事だけを Riebeckite で公開できます。
599 +
600 + ### 次に読むもの
601 +
602 + - [記事の書き方ガイド](./writing-content.ja.md)
603 + - [記事とサイトのリポジトリ分離](./content-repositories.ja.md)
604 + - [Content System](../framework/content-system.ja.md)
605 +