テーマの配布と検証
このページは テーマ作成の詳細 の一部で、Theme のパッケージ化、配布、検証を扱います。
27. Package として配布する
公開 Theme は、たとえば次の構成にできます。
packages/themes/example/
├─ src/
│ └─ index.ts
├─ styles/
│ ├─ theme.css
│ └─ fonts/ # 必要な場合のみ
├─ package.json
├─ README_ja.md
└─ README.md
Riebeckite Repository 内では、
packages/themes/minimal
が雛形になります。
src/index.ts では Theme Factory を公開します。
import { defineTheme } from "@riebeckite/core";
export function exampleTheme() {
return defineTheme({
name: "example",
styles: [
{
moduleSpecifier:
"@riebeckite/theme-example/style.css",
},
],
});
}
package.json では Stylesheet を、
./style.css
として Export します。
28. Repository 外で Theme を配布する
外部 Theme Package は Riebeckite monorepo の内部構造へ依存させません。
基本的には、
@riebeckite/core
の Public API だけを利用します。
次のような Internal Import は避けてください。
import {
something,
} from "@riebeckite/core/src/...";
また、
../../../../packages/core/...
のような monorepo 内部 Path にも依存しません。
Theme の Stylesheet も Package 自身の Export として公開します。
29. Theme を検証する
Theme を作成・変更したら、次の順番で確認します。
Diagram source
flowchart LR
Check["check"]
Inspect["inspect config"]
Dev["dev"]
Build["build"]
Check --> Inspect
Inspect --> Dev
Dev --> Build
まず Configuration を確認します。
pnpm exec riebeckite check
次に解決された Theme 設定を確認します。
pnpm exec riebeckite inspect config
実際の表示を確認する場合は、
pnpm exec riebeckite dev
を使います。
最後に生成物まで確認します。
pnpm exec riebeckite build
check、doctor、inspect は Build Output を変更しません。
Theme を交換しても、
- Route
- Manifest
- Content Graph
- Client Behavior
は変わらないことが基本です。