Color mode

Themes

Theme は、Riebeckite Site の見た目を変更する仕組みです。

Theme を変更すると、

  • 色
  • フォント
  • 文字サイズ
  • 余白
  • 記事幅
  • Sidebar の幅
  • Light / Dark Mode
  • 記事全体の視覚的な雰囲気

などを変更できます。

Diagram source
text
flowchart LR
    Content["Markdown"]
    Riebeckite["Riebeckite"]
    Theme["Theme"]
    Site["表示されるSite"]
 
    Content --> Riebeckite
    Riebeckite --> Site
    Theme --> Site

Theme は Content の意味や Site の機能を変更するものではありません。

検索、図表、WikiLink、Analytics などの機能を追加したい場合は Plugins を利用します。

Theme と Plugin の違い

迷った場合は、「見た目を変えたいのか」「機能を追加したいのか」で考えます。

やりたいこと 使うもの
色を変える Theme
フォントを変える Theme
記事幅を変える Theme
Dark Mode に対応する Theme
Site 全体のデザインを変える Theme
Mermaid を表示する Plugin
検索を追加する Plugin
Analytics を追加する Plugin
Markdown の処理を拡張する Plugin
Diagram source
text
flowchart TD
    Want{"何を変えたい?"}
 
    Want -->|"見た目"| Theme["Theme"]
    Want -->|"機能"| Plugin["Plugin"]

最初から Theme は設定されている

create-riebeckite で生成した Site には、通常すでに Theme が設定されています。

Preset によって既定の Theme が異なります。

Preset Theme
minimal @riebeckite/theme-minimal
starter @riebeckite/theme-default
showcase @riebeckite/theme-default

そのため、最初から Theme を追加しなくても Site を利用できます。

見た目を変更したくなったときに、別の Theme へ切り替えれば十分です。

Theme を変更する

別の Theme を使う場合は、大きく2つの手順があります。

text
1. Theme Packageをインストール
 
2. riebeckite.config.tsでThemeを指定

1. Theme をインストールする

たとえば Minimal Theme を利用する場合は、

bash
npm install @riebeckite/theme-minimal

を実行します。

2. Theme を設定する

Theme の Factory を Import し、riebeckite.config.ts の theme に指定します。

ts
import { defineConfig } from "@riebeckite/core";
import { minimalTheme } from "@riebeckite/theme-minimal";
 
export default defineConfig({
  theme: minimalTheme(),
});

これで Site 全体に Minimal Theme が適用されます。

text
@riebeckite/theme-minimal
        ↓
minimalTheme()
        ↓
riebeckite.config.ts
        ↓
Site

Theme の Option

Theme によっては Option を指定できます。

たとえば Default Theme では、次のように設定できます。

ts
import { defineConfig } from "@riebeckite/core";
import { defaultTheme } from "@riebeckite/theme-default";
 
export default defineConfig({
  theme: defaultTheme({
    colorMode: "system",
    typography: "system",
    articleLayout: "article",
    userCss: ["/extensions/custom.css"],
  }),
});

Theme ごとに利用できる Option は異なる場合があります。

正確な Factory 名と Option は、それぞれの Package README を確認してください。

Color Mode

Theme は共通設定として Color Mode を扱えます。

たとえば、

ts
defaultTheme({
  colorMode: "system",
});

のように指定します。

Riebeckite の Theme Contract では、

text
light
dark
system

の Color Mode を扱います。

system は Browser / OS 側の設定に合わせるための Mode です。

Color Mode の詳しい Contract は Theme API を参照してください。

Typography

文字の雰囲気も Theme の一部です。

たとえば、

ts
defaultTheme({
  typography: "system",
});

のように設定します。

Theme Contract では Typography Preset として、

text
system
serif
sans

を扱えます。

実際の Font や細かな Typography は Theme が決定します。

Article Layout

記事部分の Layout も Theme から設定できます。

ts
defaultTheme({
  articleLayout: "article",
});

Theme Contract では、

text
article
sidebar
full-width

の Layout Preset を扱えます。

Site の用途や記事の種類に合わせて選択できます。

少しだけ見た目を変更する

Theme を丸ごと作るほどではない小さな変更には userCss を利用できます。

ts
defaultTheme({
  userCss: [
    "/extensions/custom.css",
  ],
});

たとえば、

css
.rb-article {
  font-size: 1.05rem;
}

のような Site 固有の調整を追加できます。

userCss は Theme の Style より後に適用されるため、Site 固有の調整に向いています。

userCss と Theme の使い分け

目安は次のとおりです。

Diagram source
text
flowchart TD
    Change{"どんな変更?"}
 
    Change -->|"このSiteだけの小さな調整"| CSS["userCss"]
    Change -->|"再利用したいデザイン"| Theme["Theme"]
    Change -->|"新しい機能"| Plugin["Plugin"]
変更 向いている方法
記事の余白を少し変える userCss
特定要素の文字サイズを変える userCss
Site 固有の装飾を加える userCss
色・文字・Layout を一式まとめる Theme
複数 Site で同じ Design を使う Theme
他の利用者へ配布する Theme
JavaScript の機能を追加する Plugin

最初は userCss で調整し、変更が大きくなったら Theme として整理する方法もあります。

公式 Theme

Riebeckite には複数の公式 Theme があります。

Theme Package Factory 特徴
Default @riebeckite/theme-default defaultTheme() 標準の出発点。読みやすさと設定のしやすさを重視
Minimal @riebeckite/theme-minimal minimalTheme() 装飾を抑えた小さな Theme
Gruvbox @riebeckite/theme-gruvbox gruvboxTheme() Gruvbox 風の暖かい高コントラスト配色
Rerurate @riebeckite/theme-rerurate rerurateTheme() Rerurate の視覚文法に基づく Theme
Sakura @riebeckite/theme-sakura sakuraTheme() 桜をモチーフにした配色
Tokyo Night @riebeckite/theme-tokyonight tokyonightTheme() Tokyo Night 風の暗色・Editor 風 Theme

各 Theme の正確な Export 名と Option は、Package README を参照してください。

Default

Default は、Riebeckite の標準的な Theme です。

ts
import { defaultTheme } from "@riebeckite/theme-default";
 
export default defineConfig({
  theme: defaultTheme(),
});

特定のデザインへ大きく寄せず、Riebeckite Site の出発点として利用できます。

starter と showcase Preset では Default Theme が利用されます。

Minimal

Minimal は、装飾を抑えた Theme です。

ts
import { minimalTheme } from "@riebeckite/theme-minimal";
 
export default defineConfig({
  theme: minimalTheme(),
});

minimal Preset ではこの Theme が利用されます。

Gruvbox

Gruvbox は、Gruvbox をもとにした暖色系の Theme です。

ts
import { gruvboxTheme } from "@riebeckite/theme-gruvbox";
 
export default defineConfig({
  theme: gruvboxTheme(),
});

暖かい色と高いコントラストを持つ配色を利用します。

Rerurate

Rerurate は、Rerurate の視覚文法をもとにした Theme です。

ts
import { rerurateTheme } from "@riebeckite/theme-rerurate";
 
export default defineConfig({
  theme: rerurateTheme(),
});

Sakura

Sakura は、桜をモチーフにした Theme です。

ts
import { sakuraTheme } from "@riebeckite/theme-sakura";
 
export default defineConfig({
  theme: sakuraTheme(),
});

Tokyo Night

Tokyo Night は、Tokyo Night をもとにした暗色系 Theme です。

ts
import { tokyonightTheme } from "@riebeckite/theme-tokyonight";
 
export default defineConfig({
  theme: tokyonightTheme(),
});

Editor のような暗色系の見た目を利用できます。

Theme を切り替える

Theme は riebeckite.config.ts の theme を変更することで切り替えられます。

たとえば Default Theme から Minimal Theme へ変更するなら、

ts
// Before
theme: defaultTheme(),

を、

ts
// After
theme: minimalTheme(),

へ変更します。

もちろん、新しい Theme Package がまだ入っていない場合は先にインストールしてください。

変更後は、

sh
npm exec riebeckite dev

で実際の表示を確認します。

Theme が変更するもの

Theme の責任範囲は Presentation です。

text
Theme
 
├─ Color
├─ Typography
├─ Spacing
├─ Layout
├─ Design Token
└─ CSS

一方で、

text
検索機能
Markdown変換
WikiLink
Analytics
新しいPage
Browser上のInteractiveな処理

などは Theme の責任ではありません。

これらには Plugin や Application を利用します。

Diagram source
text
flowchart TD
    Site["Riebeckite Site"]
 
    Site --> Theme["Theme<br/>見た目"]
    Site --> Plugin["Plugin<br/>機能"]
    Site --> App["Application<br/>Site構成"]
 
    Theme --> CSS["Color / Font / Layout"]
    Plugin --> Feature["Search / Mermaid / Analytics"]
    App --> Page["Route / Navigation / Composition"]

Theme を自作する

既存 Theme の userCss だけでは足りず、再利用できる Design としてまとめたい場合は、自分で Theme を作成できます。

まず Writing a Theme を参照してください。

text
Themeを使いたい
  → このページ
 
Themeを作りたい
  → Writing a Theme
 
正確なAPIを確認したい
  → Theme API
 
内部の仕組みを知りたい
  → Framework / Theme System

Theme の公開 Contract を確認したい場合は Theme API、Riebeckite 内部で Theme がどのように扱われるか知りたい場合は Framework / Theme System を参照してください。

まとめ

Theme は Riebeckite Site の見た目を担当する仕組みです。

text
見た目を変える
  → Theme
 
小さなSite固有調整
  → userCss
 
機能を追加する
  → Plugin
 
SiteのPageや構成を作る
  → Application

既存 Theme を使う場合は、

text
Packageをinstall
      ↓
Factoryをimport
      ↓
config.themeに指定
      ↓
devで確認

という流れになります。

Theme ごとの正確な Factory 名と Option は Package README を確認してください。

次に読むページ

History

1 changesCollapseExpand
1 + ---
2 + title: Themes
3 + sidebar:
4 + label: Themes
5 + order: 50
6 + collapsed: true
7 + ---
8 + # Themes
9 +
10 + Theme は、Riebeckite Site の**見た目を変更する仕組み**です。
11 +
12 + Theme を変更すると、
13 +
14 + - 色
15 + - フォント
16 + - 文字サイズ
17 + - 余白
18 + - 記事幅
19 + - Sidebar の幅
20 + - Light / Dark Mode
21 + - 記事全体の視覚的な雰囲気
22 +
23 + などを変更できます。
24 +
25 + ```mermaid id="pj4qqs"
26 + flowchart LR
27 + Content["Markdown"]
28 + Riebeckite["Riebeckite"]
29 + Theme["Theme"]
30 + Site["表示されるSite"]
31 +
32 + Content --> Riebeckite
33 + Riebeckite --> Site
34 + Theme --> Site
35 + ```
36 +
37 + Theme は Content の意味や Site の機能を変更するものではありません。
38 +
39 + 検索、図表、WikiLink、Analytics などの**機能を追加したい場合は [Plugins](../plugins/README.ja.md)** を利用します。
40 +
41 + ## Theme と Plugin の違い
42 +
43 + 迷った場合は、「見た目を変えたいのか」「機能を追加したいのか」で考えます。
44 +
45 + | やりたいこと | 使うもの |
46 + | --- | --- |
47 + | 色を変える | Theme |
48 + | フォントを変える | Theme |
49 + | 記事幅を変える | Theme |
50 + | Dark Mode に対応する | Theme |
51 + | Site 全体のデザインを変える | Theme |
52 + | Mermaid を表示する | Plugin |
53 + | 検索を追加する | Plugin |
54 + | Analytics を追加する | Plugin |
55 + | Markdown の処理を拡張する | Plugin |
56 +
57 + ```mermaid id="xkrf70"
58 + flowchart TD
59 + Want{"何を変えたい?"}
60 +
61 + Want -->|"見た目"| Theme["Theme"]
62 + Want -->|"機能"| Plugin["Plugin"]
63 + ```
64 +
65 + # 最初から Theme は設定されている
66 +
67 + `create-riebeckite` で生成した Site には、通常すでに Theme が設定されています。
68 +
69 + Preset によって既定の Theme が異なります。
70 +
71 + | Preset | Theme |
72 + | --- | --- |
73 + | `minimal` | `@riebeckite/theme-minimal` |
74 + | `starter` | `@riebeckite/theme-default` |
75 + | `showcase` | `@riebeckite/theme-default` |
76 +
77 + そのため、最初から Theme を追加しなくても Site を利用できます。
78 +
79 + 見た目を変更したくなったときに、別の Theme へ切り替えれば十分です。
80 +
81 + # Theme を変更する
82 +
83 + 別の Theme を使う場合は、大きく2つの手順があります。
84 +
85 + ```text id="2ktbhc"
86 + 1. Theme Packageをインストール
87 +
88 + 2. riebeckite.config.tsでThemeを指定
89 + ```
90 +
91 + ## 1. Theme をインストールする
92 +
93 + たとえば Minimal Theme を利用する場合は、
94 +
95 + ```bash id="a50wvc"
96 + npm install @riebeckite/theme-minimal
97 + ```
98 +
99 + を実行します。
100 +
101 + ## 2. Theme を設定する
102 +
103 + Theme の Factory を Import し、`riebeckite.config.ts` の `theme` に指定します。
104 +
105 + ```ts id="etjv95"
106 + import { defineConfig } from "@riebeckite/core";
107 + import { minimalTheme } from "@riebeckite/theme-minimal";
108 +
109 + export default defineConfig({
110 + theme: minimalTheme(),
111 + });
112 + ```
113 +
114 + これで Site 全体に Minimal Theme が適用されます。
115 +
116 + ```text id="1eek1b"
117 + @riebeckite/theme-minimal
118 + ↓
119 + minimalTheme()
120 + ↓
121 + riebeckite.config.ts
122 + ↓
123 + Site
124 + ```
125 +
126 + # Theme の Option
127 +
128 + Theme によっては Option を指定できます。
129 +
130 + たとえば Default Theme では、次のように設定できます。
131 +
132 + ```ts id="z6x59h"
133 + import { defineConfig } from "@riebeckite/core";
134 + import { defaultTheme } from "@riebeckite/theme-default";
135 +
136 + export default defineConfig({
137 + theme: defaultTheme({
138 + colorMode: "system",
139 + typography: "system",
140 + articleLayout: "article",
141 + userCss: ["/extensions/custom.css"],
142 + }),
143 + });
144 + ```
145 +
146 + Theme ごとに利用できる Option は異なる場合があります。
147 +
148 + 正確な Factory 名と Option は、それぞれの Package README を確認してください。
149 +
150 + # Color Mode
151 +
152 + Theme は共通設定として Color Mode を扱えます。
153 +
154 + たとえば、
155 +
156 + ```ts id="i6fj09"
157 + defaultTheme({
158 + colorMode: "system",
159 + });
160 + ```
161 +
162 + のように指定します。
163 +
164 + Riebeckite の Theme Contract では、
165 +
166 + ```text id="svx24i"
167 + light
168 + dark
169 + system
170 + ```
171 +
172 + の Color Mode を扱います。
173 +
174 + `system` は Browser / OS 側の設定に合わせるための Mode です。
175 +
176 + Color Mode の詳しい Contract は [Theme API](../reference/theme-api.ja.md) を参照してください。
177 +
178 + # Typography
179 +
180 + 文字の雰囲気も Theme の一部です。
181 +
182 + たとえば、
183 +
184 + ```ts id="02tw4s"
185 + defaultTheme({
186 + typography: "system",
187 + });
188 + ```
189 +
190 + のように設定します。
191 +
192 + Theme Contract では Typography Preset として、
193 +
194 + ```text id="tsjddr"
195 + system
196 + serif
197 + sans
198 + ```
199 +
200 + を扱えます。
201 +
202 + 実際の Font や細かな Typography は Theme が決定します。
203 +
204 + # Article Layout
205 +
206 + 記事部分の Layout も Theme から設定できます。
207 +
208 + ```ts id="7cczqi"
209 + defaultTheme({
210 + articleLayout: "article",
211 + });
212 + ```
213 +
214 + Theme Contract では、
215 +
216 + ```text id="n1pwde"
217 + article
218 + sidebar
219 + full-width
220 + ```
221 +
222 + の Layout Preset を扱えます。
223 +
224 + Site の用途や記事の種類に合わせて選択できます。
225 +
226 + # 少しだけ見た目を変更する
227 +
228 + Theme を丸ごと作るほどではない小さな変更には `userCss` を利用できます。
229 +
230 + ```ts id="cmf9rk"
231 + defaultTheme({
232 + userCss: [
233 + "/extensions/custom.css",
234 + ],
235 + });
236 + ```
237 +
238 + たとえば、
239 +
240 + ```css id="z91hlo"
241 + .rb-article {
242 + font-size: 1.05rem;
243 + }
244 + ```
245 +
246 + のような Site 固有の調整を追加できます。
247 +
248 + `userCss` は Theme の Style より後に適用されるため、Site 固有の調整に向いています。
249 +
250 + # `userCss` と Theme の使い分け
251 +
252 + 目安は次のとおりです。
253 +
254 + ```mermaid id="11q6oz"
255 + flowchart TD
256 + Change{"どんな変更?"}
257 +
258 + Change -->|"このSiteだけの小さな調整"| CSS["userCss"]
259 + Change -->|"再利用したいデザイン"| Theme["Theme"]
260 + Change -->|"新しい機能"| Plugin["Plugin"]
261 + ```
262 +
263 + | 変更 | 向いている方法 |
264 + | --- | --- |
265 + | 記事の余白を少し変える | `userCss` |
266 + | 特定要素の文字サイズを変える | `userCss` |
267 + | Site 固有の装飾を加える | `userCss` |
268 + | 色・文字・Layout を一式まとめる | Theme |
269 + | 複数 Site で同じ Design を使う | Theme |
270 + | 他の利用者へ配布する | Theme |
271 + | JavaScript の機能を追加する | Plugin |
272 +
273 + 最初は `userCss` で調整し、変更が大きくなったら Theme として整理する方法もあります。
274 +
275 + # 公式 Theme
276 +
277 + Riebeckite には複数の公式 Theme があります。
278 +
279 + | Theme | Package | Factory | 特徴 |
280 + | --- | --- | --- | --- |
281 + | [Default](./default.ja.md) | `@riebeckite/theme-default` | `defaultTheme()` | 標準の出発点。読みやすさと設定のしやすさを重視 |
282 + | [Minimal](./minimal.ja.md) | `@riebeckite/theme-minimal` | `minimalTheme()` | 装飾を抑えた小さな Theme |
283 + | [Gruvbox](./gruvbox.ja.md) | `@riebeckite/theme-gruvbox` | `gruvboxTheme()` | Gruvbox 風の暖かい高コントラスト配色 |
284 + | [Rerurate](./rerurate.ja.md) | `@riebeckite/theme-rerurate` | `rerurateTheme()` | Rerurate の視覚文法に基づく Theme |
285 + | [Sakura](./sakura.ja.md) | `@riebeckite/theme-sakura` | `sakuraTheme()` | 桜をモチーフにした配色 |
286 + | [Tokyo Night](./tokyonight.ja.md) | `@riebeckite/theme-tokyonight` | `tokyonightTheme()` | Tokyo Night 風の暗色・Editor 風 Theme |
287 +
288 + 各 Theme の正確な Export 名と Option は、Package README を参照してください。
289 +
290 + # Default
291 +
292 + [Default](./default.ja.md) は、Riebeckite の標準的な Theme です。
293 +
294 + ```ts id="vms7th"
295 + import { defaultTheme } from "@riebeckite/theme-default";
296 +
297 + export default defineConfig({
298 + theme: defaultTheme(),
299 + });
300 + ```
301 +
302 + 特定のデザインへ大きく寄せず、Riebeckite Site の出発点として利用できます。
303 +
304 + `starter` と `showcase` Preset では Default Theme が利用されます。
305 +
306 + # Minimal
307 +
308 + [Minimal](./minimal.ja.md) は、装飾を抑えた Theme です。
309 +
310 + ```ts id="vdwwym"
311 + import { minimalTheme } from "@riebeckite/theme-minimal";
312 +
313 + export default defineConfig({
314 + theme: minimalTheme(),
315 + });
316 + ```
317 +
318 + `minimal` Preset ではこの Theme が利用されます。
319 +
320 + # Gruvbox
321 +
322 + [Gruvbox](./gruvbox.ja.md) は、Gruvbox をもとにした暖色系の Theme です。
323 +
324 + ```ts id="w7gdho"
325 + import { gruvboxTheme } from "@riebeckite/theme-gruvbox";
326 +
327 + export default defineConfig({
328 + theme: gruvboxTheme(),
329 + });
330 + ```
331 +
332 + 暖かい色と高いコントラストを持つ配色を利用します。
333 +
334 + # Rerurate
335 +
336 + [Rerurate](./rerurate.ja.md) は、Rerurate の視覚文法をもとにした Theme です。
337 +
338 + ```ts id="htrd9r"
339 + import { rerurateTheme } from "@riebeckite/theme-rerurate";
340 +
341 + export default defineConfig({
342 + theme: rerurateTheme(),
343 + });
344 + ```
345 +
346 + # Sakura
347 +
348 + [Sakura](./sakura.ja.md) は、桜をモチーフにした Theme です。
349 +
350 + ```ts id="czj6ks"
351 + import { sakuraTheme } from "@riebeckite/theme-sakura";
352 +
353 + export default defineConfig({
354 + theme: sakuraTheme(),
355 + });
356 + ```
357 +
358 + # Tokyo Night
359 +
360 + [Tokyo Night](./tokyonight.ja.md) は、Tokyo Night をもとにした暗色系 Theme です。
361 +
362 + ```ts id="suxi7w"
363 + import { tokyonightTheme } from "@riebeckite/theme-tokyonight";
364 +
365 + export default defineConfig({
366 + theme: tokyonightTheme(),
367 + });
368 + ```
369 +
370 + Editor のような暗色系の見た目を利用できます。
371 +
372 + # Theme を切り替える
373 +
374 + Theme は `riebeckite.config.ts` の `theme` を変更することで切り替えられます。
375 +
376 + たとえば Default Theme から Minimal Theme へ変更するなら、
377 +
378 + ```ts id="ql7x6k"
379 + // Before
380 + theme: defaultTheme(),
381 + ```
382 +
383 + を、
384 +
385 + ```ts id="85hdqx"
386 + // After
387 + theme: minimalTheme(),
388 + ```
389 +
390 + へ変更します。
391 +
392 + もちろん、新しい Theme Package がまだ入っていない場合は先にインストールしてください。
393 +
394 + 変更後は、
395 +
396 + ```sh id="3p2sgb"
397 + npm exec riebeckite dev
398 + ```
399 +
400 + で実際の表示を確認します。
401 +
402 + # Theme が変更するもの
403 +
404 + Theme の責任範囲は **Presentation** です。
405 +
406 + ```text id="33th07"
407 + Theme
408 +
409 + ├─ Color
410 + ├─ Typography
411 + ├─ Spacing
412 + ├─ Layout
413 + ├─ Design Token
414 + └─ CSS
415 + ```
416 +
417 + 一方で、
418 +
419 + ```text id="8ocgkk"
420 + 検索機能
421 + Markdown変換
422 + WikiLink
423 + Analytics
424 + 新しいPage
425 + Browser上のInteractiveな処理
426 + ```
427 +
428 + などは Theme の責任ではありません。
429 +
430 + これらには Plugin や Application を利用します。
431 +
432 + ```mermaid id="3yr4cd"
433 + flowchart TD
434 + Site["Riebeckite Site"]
435 +
436 + Site --> Theme["Theme<br/>見た目"]
437 + Site --> Plugin["Plugin<br/>機能"]
438 + Site --> App["Application<br/>Site構成"]
439 +
440 + Theme --> CSS["Color / Font / Layout"]
441 + Plugin --> Feature["Search / Mermaid / Analytics"]
442 + App --> Page["Route / Navigation / Composition"]
443 + ```
444 +
445 + # Theme を自作する
446 +
447 + 既存 Theme の `userCss` だけでは足りず、再利用できる Design としてまとめたい場合は、自分で Theme を作成できます。
448 +
449 + まず [Writing a Theme](./writing-a-theme.ja.md) を参照してください。
450 +
451 + ```text id="8d9b1f"
452 + Themeを使いたい
453 + → このページ
454 +
455 + Themeを作りたい
456 + → Writing a Theme
457 +
458 + 正確なAPIを確認したい
459 + → Theme API
460 +
461 + 内部の仕組みを知りたい
462 + → Framework / Theme System
463 + ```
464 +
465 + Theme の公開 Contract を確認したい場合は [Theme API](../reference/theme-api.ja.md)、Riebeckite 内部で Theme がどのように扱われるか知りたい場合は [Framework / Theme System](../framework/theme-system.ja.md) を参照してください。
466 +
467 + # まとめ
468 +
469 + Theme は Riebeckite Site の**見た目を担当する仕組み**です。
470 +
471 + ```text id="x4a0p4"
472 + 見た目を変える
473 + → Theme
474 +
475 + 小さなSite固有調整
476 + → userCss
477 +
478 + 機能を追加する
479 + → Plugin
480 +
481 + SiteのPageや構成を作る
482 + → Application
483 + ```
484 +
485 + 既存 Theme を使う場合は、
486 +
487 + ```text id="4u2l5e"
488 + Packageをinstall
489 + ↓
490 + Factoryをimport
491 + ↓
492 + config.themeに指定
493 + ↓
494 + devで確認
495 + ```
496 +
497 + という流れになります。
498 +
499 + Theme ごとの正確な Factory 名と Option は Package README を確認してください。
500 +
501 + ## 次に読むページ
502 +
503 + - [Writing a Theme](./writing-a-theme.ja.md) — Theme を自作する
504 + - [Theme API](../reference/theme-api.ja.md) — Theme の公開 Contract
505 + - [Framework / Theme System](../framework/theme-system.ja.md) — Theme の内部設計
506 + - [Plugins](../plugins/README.ja.md) — Site に機能を追加する
507 +
508 +