Color mode

Search notes

Filter with tag:, lang:, or path:.

設定(Config)

コンテンツ、公開、プラグイン、テーマ、キャッシュの挙動を制御するRiebeckiteの設定オブジェクトです。ビルドが使う前に検証され、解決されます。

制御するもの

設定 目的
content.directory コンテンツを読み取る場所
content.filters.publishStrategy 既定の公開戦略
plugins 実行するプラグインとそのオプション
theme テーマとそのオプション
cache.enabled ビルドでキャッシュを使うか

検証してから解決

生の設定は検証されたあと、ビルドが使う形に解決されます。失敗はコンテンツを処理する前に報告されるため、設定の誤りが出力を壊すことはありません。

解決パイプライン

設定はビルドが使う前に3つの段階を通ります(packages/core/src/config.ts)。

  1. validateConfig — すべての必須フィールドが存在し、値が期待される型や列挙型に適合するかを確認します。コンテンツ処理を始める前にエラーを報告します。

  2. resolveThemeConfig — テーマ設定を解決します。入力がRiebeckiteThemeの場合はname、config、styles、attributes、userCssを取り出します。素のThemeConfigの場合はそのまま使い、欠けているフィールドに既定値を適用します。結果は解決済みの設定のthemeキーにマージされます。

  3. resolveConfig — すべてをまとめる最終的な解決段階です。次の処理を行います。

    • 生のRiebeckiteConfigに対してvalidateConfigを呼び出す。
    • resolveThemeConfigを呼び出してテーマを解決する。
    • resolvePluginsでプラグインを解決する。
    • site、content、cache、themeの各フィールドに既定値を設定する。
    • パイプラインとコンテンツマネージャーが使うResolvedRiebeckiteConfigを生成する。

解決済みの設定はビルド中に.riebeckite/に置かれ、site、content、theme、plugins、cacheのセクションを含みます。たとえばcacheセクションは既定でenabled: trueとなり、任意でカスタムのdirectoryも指定できます。themeセクションにはcolorMode、typography、articleLayout、tokens、attributesが含まれます。

RiebeckiteConfigインターフェース

設定の形はpackages/core/src/types/riebeckite_config.tsで定義されています。

ts
export interface RiebeckiteConfig {
  site: SiteConfig;
  content?: {
    directory?: string;
    source?: ContentSource;
    exclude?: string[];
    filters?: {
      publishStrategy?: PublishStrategy;
    };
  };
  theme?: ThemeInput;
  plugins?: PluginInput[];
  cache?: {
    enabled?: boolean;
    directory?: string;
  };
}

必須のトップレベルフィールドはsiteで、ほかのセクションはすべて任意です。SiteConfigはpackages/core/src/types/site_config.tsにあり、title、description、author、baseUrl、locale、twitterSite、defaultOgImage、feedを含みます。

解決済みの設定では、siteがtitle、description、author、baseUrl、locale、twitterSite、defaultOgImage、feedを含みます。contentはdirectory、source、exclude、filters.publishStrategyを含みます。themeは解決済みのカラーモード、タイポグラフィ、記事レイアウト、トークン、属性を含みます。pluginsは設定の一覧から解決され、cacheはenabledとdirectoryを含みます。

関連用語

Local Graph

Nearby Notes

Open in Explorer →
設定(Config)テーマ(Theme)プラグイン(Plugin)コンテンツ(Content)ビルド(Build)プラグインオプション(Plugin Options)サイト設定(Site Config)
CurrentOutgoingBacklink