設定
zudo-docのグローバル設定と構成リファレンス。
zudo-docはsrc/config/ディレクトリ内の少数のファイルとルートのzfb.config.tsで設定を行います。
サイト設定
メインの設定ファイルはsrc/です:
export const settings = {
colorScheme: "Default Dark",
colorMode: {
defaultMode: "dark",
lightScheme: "Default Light",
darkScheme: "Default Dark",
respectPrefersColorScheme: true,
},
siteName: "zudo-doc",
siteDescription: "Documentation base framework...",
base: "/",
trailingSlash: true,
docsDir: "src/content/docs",
locales: {
ja: { label: "JA", dir: "src/content/docs-ja" },
},
mermaid: true,
noindex: false,
editUrl: false,
githubUrl: "https://github.com/zudolab/zudo-doc",
siteUrl: "https://zudo-doc.takazudomodular.com",
sitemap: true,
designTokenPanel: true,
docMetainfo: true,
docTags: true,
frontmatterPreview: {},
math: true,
docHistory: true,
claudeResources: {
claudeDir: ".claude",
},
headerNav: [
{ label: "Getting Started", labelKey: "nav.gettingStarted", path: "/docs/getting-started", categoryMatch: "getting-started" },
{ label: "Guides", labelKey: "nav.guides", path: "/docs/guides", categoryMatch: "guides" },
{ label: "Reference", labelKey: "nav.reference", path: "/docs/reference", categoryMatch: "reference" },
{ label: "Claude", labelKey: "nav.claude", path: "/docs/claude", categoryMatch: "claude" },
],
};Note
ここに示すデフォルト値は、すべての機能を見せるためにほとんどの機能を有効にしているこのショーケースのsettings.tsを反映したものです。create-zudo-docで新規にスキャフォールドしたプロジェクトはもっとミニマルな状態から始まり、多くの機能(例:docHistory、designTokenPanel、sidebarToggle、sidebarResizer、llmsTxt、githubUrl)はデフォルトで無効になっており、スキャフォールドのプロンプトで個別に有効化します。デフォルト値に迷ったときは、上流のスキャフォールドをベースラインとして、このページを「すべて有効にした」リファレンスとして扱ってください。
colorScheme
アクティブなカラースキーム名。src/のキーと一致する必要があります。
利用可能な組み込みスキーム:Default Light、Default Dark。src/でカスタムスキームを追加できます。
Tip
利用可能なスキームの一覧、プレビュー、カスタムスキームの追加手順についてはカラーガイドを参照してください。
colorMode
ライト/ダークモードの動作を設定します。カラーモード切り替えを完全に無効にしてcolorSchemeで指定されたスキームのみを使用するにはfalseに設定します。
有効にすると、ColorModeConfigオブジェクトを受け入れます:
| プロパティ | 型 | 説明 |
|---|---|---|
defaultMode | "light" | "dark" | ユーザー設定が適用される前の初期カラーモード |
lightScheme | string | ライトモードで使用するカラースキーム名 |
darkScheme | string | ダークモードで使用するカラースキーム名 |
respectPrefersColorScheme | boolean | trueの場合、ユーザーのOS設定のライト/ダーク設定に自動的に一致 |
colorMode: {
defaultMode: "light",
lightScheme: "Default Light",
darkScheme: "Default Dark",
respectPrefersColorScheme: true,
},
// またはカラーモード切り替えを無効化:
colorMode: false,base
サブディレクトリにデプロイする際のベースパス。サイトがルートドメインではなくサブパスから配信される場合に設定します。
デフォルト:"/"
例えば、サイトをhttps:で配信する場合:
base: "/my-docs",すべての内部リンク(サイドバー、ナビゲーション、前後ページ、検索)にはベースパスが自動的にプレフィックスされます。この値はzfbのビルドパイプラインを通じて、出力されるアセットURLとルートパスに同じプレフィックスが適用されます。
Note
MDXコンテンツ内のインラインMarkdownリンク(例:[リンクテキスト](/docs/some-page))は自動的に書き換えられません。ルート以外のbaseを使用する場合は、コンテンツファイル内で相対リンクを使用してください。
trailingSlash
URLの末尾にトレイリングスラッシュを付けるかどうかを制御します。trueの場合、すべての内部リンクがトレイリングスラッシュ付きで生成されます(例:/ではなく/)。@takazudo/のビルド時URLヘルパーが、このポリシーを発行されるすべてのルートで強制します — ビルド時とデプロイホスト間でのルール分担についてはトレイリングスラッシュポリシーを参照してください。
デフォルト:true(ショーケースはtrueを設定しており、create-zudo-docでスキャフォールドしたプロジェクトもデフォルトでtrueです)
trailingSlash: true,Note
一部のホスティングプラットフォーム(AWS Amplify、Cloudflare Pagesなど)ではトレイリングスラッシュを有効にした方がうまく動作します。ページ遷移時に404エラーが発生する場合は、trueに設定してみてください。
有効にすると、開発サーバーがトレイリングスラッシュなしのURLをトレイリングスラッシュ付きのURLへ301リダイレクトします(例:/ → /)。これにより、ローカルでも本番と同じナビゲーション挙動になります。静的アセット(.js、.css、.pngなどの拡張子を持つファイル)はリダイレクトの対象外です。
Note
このドキュメントの以前のバージョンでは/と/もリダイレクト除外対象として記載されていました。これらはAstro時代のレガシーパスであり、zfbはこれらのプレフィックスを出力しません。既存のキャッシュ済みリンクとの後方互換性のためにリダイレクトスキップリストに残されています。
onBrokenMarkdownLinks
ビルド中に壊れた内部マークダウンリンクをどのように処理するかを制御します。zudo-docのリンクリゾルバープラグインが解決する相対 [テキスト](. リンクに適用されます。
"warn"— 警告をログに出力しますが、ビルドは継続します"error"— エラーをスローしてビルドを失敗させます"ignore"— 壊れたリンクを出力なしで無視します
型:"warn" | "error" | "ignore"
デフォルト:"warn"
onBrokenMarkdownLinks: "error", // 壊れたリンクでビルドを失敗させるdocsDir
英語ドキュメントのMDXファイルが格納されるディレクトリパス(プロジェクトルートからの相対パス)。zfbのコンテンツエンジンがこのディレクトリをglobするため、プロジェクト内の任意の場所を指定できます。
デフォルト:"src/
docsDir: "docs", // プロジェクトルートの./docs/にコンテンツを配置これはDocusaurusのdocs.pathオプションに似ています — zudo-docをドキュメントがプロジェクトルートレベルにある大規模プロジェクトのドキュメントツールとして使用する場合に便利です。
defaultLocale
デフォルト(プレフィックスなし)ロケールのBCP 47コード。zfbのi18nルーターがルートの/ルートをマッピングするために使用します。
型:string
デフォルト:"en"
defaultLocale: "en",locales
追加ロケール設定のマップ。各キーはロケールコードで、値はlabel(言語切り替えの表示名)とdir(コンテンツディレクトリパス)を持つオブジェクトです。
デフォルト:{}
locales: {
ja: { label: "JA", dir: "src/content/docs-ja" },
ko: { label: "KO", dir: "src/content/docs-ko" },
},各ロケールエントリに対して、zudo-docは自動的に:
zfbコンテンツコレクション(
docs-{code})を作成zfbのi18nルーティングにロケールを登録
言語切り替えに追加
defaultLocaleOnlyPrefixes
デフォルトロケールにのみ存在するURLプレフィックスの配列。これらのプレフィックス下のページは翻訳されず、どのロケールプレフィックス下にもミラーを持つべきではありません。該当ページでは言語切り替えがそれらを省略します。
型:string[]
デフォルト:[]
defaultLocaleOnlyPrefixes: [
"/docs/claude-md/",
"/docs/claude-skills/",
],オーサリングワークフローの詳細についてはデフォルトロケール専用プレフィックスを参照してください。
versions
マルチバージョンドキュメントを設定します。VersionConfigオブジェクトの配列を設定すると、zudo-docはバージョン管理されたコンテンツコレクションを作成し、サイドバーにバージョン切り替えを追加します。各バージョンのセクションは/でアクセスできます。バージョン管理を無効にするにはfalseを設定します。
型:VersionConfig[] | false
デフォルト:false
各VersionConfigオブジェクトは以下のプロパティを受け入れます:
| プロパティ | 型 | 説明 |
|---|---|---|
slug | string | URLパスに使用するバージョン識別子(例:"1.0"、"v1") |
label | string | バージョン切り替えに表示されるラベル(例:"1.0.0") |
docsDir | string | このバージョンの英語ドキュメントのコンテンツディレクトリパス |
locales | Record(オプション) | このバージョンのロケール別コンテンツディレクトリ({ ja: { dir: "..." } }) |
banner | "unmaintained" | "unreleased" | false(オプション) | このバージョンのすべてのページに表示されるバナー |
versions: [
{
slug: "1.0",
label: "1.0.0",
docsDir: "src/content/docs-v1",
banner: "unmaintained",
},
],
// またはバージョン管理を無効化:
versions: false,Tip
バージョン切り替えの仕組みやメンテナンス終了・未リリースバージョンのバナー設定についてはバージョン管理ガイドを参照してください。
siteName
ヘッダーに表示され、ページタイトルに使用されるサイト名。ページタイトルは{ページタイトル} | {siteName}の形式になります。
siteDescription
サイトの短い説明。SEOやソーシャルシェアリングのメタタグに使用されます。
デフォルト:""
siteUrl
サイトの完全なベースURL(例:"https:)。サイトマップでの絶対URL生成に必要です。
デフォルト:""
metaTags
出力される<meta>タグを細かく制御します。個々のサブフィールドをfalseに設定するとそのタグが省略されます。
型:MetaTagsConfig
| プロパティ | 型 | 説明 |
|---|---|---|
description | boolean | <meta name="description">を出力。デフォルト true |
keywords | string | false | この値で<meta name="keywords">を出力。false = 省略。デフォルト false |
ogImage | string | false | og:image(およびtwitter:image)のパス。false = 省略。デフォルト false |
ogSiteName | boolean | og:site_nameを出力。デフォルト true |
twitterCard | "summary" | "summary_large_image" | false | Twitter Cardの種類。false = ブロック全体を省略。デフォルト false |
twitterSite | string(オプション) | twitter:siteハンドル(例:"@yourbrand") |
twitterCreator | string(オプション) | twitter:creatorハンドル |
metaTags: {
description: true,
keywords: false,
ogImage: "/img/ogp.png",
ogSiteName: true,
twitterCard: "summary_large_image",
twitterSite: "@yourbrand",
},noindex
trueの場合、すべてのページにnoindexとnofollowメタタグを追加します。検索エンジンにインデックスされるべきでない内部ドキュメントサイトに便利です。
デフォルト:false
この設定が有効にする2つの補完的な動作(<meta name="robots">とrobots.txt)の詳細については、ロボットインデックス回避を参照してください。
mermaid
Mermaidダイアグラムのサポートを有効にします。trueの場合、mermaid言語識別子を持つフェンスコードブロックがダイアグラムとしてレンダリングされます。falseの場合、mermaidコードブロックはプレーンコードとして表示されます。
デフォルト:true
math
KaTeX数式レンダリングを有効にします。trueの場合、インライン数式($...$)、ブロック数式($$...$$)、およびフェンスmathコードブロックが数式としてレンダリングされます。
デフォルト:true
cjkFriendly
CJKフレンドリーなタイポグラフィ調整を有効にします。trueの場合、ドキュメント全体の中国語、日本語、韓国語テキストに対して改善された改行およびワードラップの動作を適用します。
型:boolean
デフォルト:false
cjkFriendly: true,editUrl
「このページを編集」リンクのベースURL。完全なURLはeditUrl + contentDir + "/" + entryIdとして構築されます。編集リンクを無効にするにはfalseに設定します。
デフォルト:false(無効)
editUrl: "https://github.com/my-org/my-repo/edit/main/",
// または無効化:
editUrl: false,githubUrl
サイトヘッダーにGitHubリンクとして表示されるリポジトリURL。文字列を設定すると、そのURLへのGitHubアイコンリンクがヘッダー右側のアイテム(headerRightItems内でgithub-linkコンポーネントが配置された位置)に表示されます。ヘッダーのGitHubリンクを表示しないようにするにはfalseを設定します。
型:string | false
デフォルト:false(create-zudo-docのスキャフォールドでは無効。このショーケースではリポジトリURLを設定)
githubUrl: "https://github.com/my-org/my-repo",
// またはヘッダーのGitHubリンクを表示しない:
githubUrl: false,sitemap
ビルド時に自動sitemap.xml生成を有効にします。サイトマップには404を除くすべてのビルド済みHTMLページが含まれます。
デフォルト:true
llmsTxt
ビルド時に自動llms.txt生成を有効にします。trueの場合、すべてのドキュメントページをタイトルと説明とともにリスト化したllms.txtファイルがサイトルートに生成されます。このファイルはllms.txt仕様に従っており、AIアシスタントがドキュメントコンテンツを発見・インデックス化するのに役立ちます。
型:boolean
デフォルト:false
llmsTxt: true,docMetainfo
ページタイトルの下にメタデータ(作成日、最終更新日、著者)を表示します。日付と著者はビルド時にgit履歴から抽出されます。
デフォルト:true
docTags
ドキュメントページのタグサポートを有効にします。trueの場合、ページはtagsフロントマターフィールドを使用でき、タグインデックスページが/に生成されます。
詳しい使い方はタグガイドを参照してください。
デフォルト:true
tagPlacement
ドキュメントページに表示されるタグバッジ列の位置を制御します。
型:"after-title" | "before-pager"
デフォルト:"after-title"
"after-title"— ページタイトルの直下、本文の上にバッジ列を表示します。"before-pager"— コンテンツの末尾、前後ページャーのすぐ上にバッジ列を表示します。
tagPlacement: "before-pager",docTags が false の場合、またはページにタグが付いていない場合は効果がありません。
tagGovernance
タグボキャブラリーが有効な場合に適用される強制レベル。詳細なリファレンスはタグガバナンスを参照してください。
型:"off" | "warn" | "strict"
デフォルト:"warn"
tagVocabulary
tag-vocabulary.tsを実行時に参照するかどうか(エイリアス解決、非推奨フィルタリング、グループ化フッター)。falseに設定するとtagGovernanceに関わらずファイルを完全に無視します。詳細はタグガバナンスを参照してください。
型:boolean
デフォルト:true
frontmatterPreview
カスタムフロントマターフィールドをページタイトルの直下にコンパクトなキー/値テーブルとして表示します。フレームワーク管理のキー(title、description、sidebar_position など)はデフォルトで非表示になるため、プロジェクト固有のメタデータのみが表示されます。すべてのページでブロックを無効にするには false を設定します。
型:FrontmatterPreviewConfig | false
デフォルト:{}(組み込み無視リストで有効)
FrontmatterPreviewConfig オブジェクトは以下を受け入れます:
| プロパティ | 型 | 説明 |
|---|---|---|
ignoreKeys | string[](オプション) | デフォルトの無視リストを完全に置き換えます。設定すると extraIgnoreKeys は無視されます |
extraIgnoreKeys | string[](オプション) | デフォルトに加えて無視する追加キーです。ignoreKeys が設定されている場合は効果がありません |
// Extend the default list:
frontmatterPreview: {
extraIgnoreKeys: ["reviewed_by", "internal_id"],
},
// Replace the default list entirely:
frontmatterPreview: {
ignoreKeys: ["title", "description", "sidebar_position"],
},
// Disable:
frontmatterPreview: false,Tip
完全なデフォルト無視リストとライブデモについては、フロントマタープレビューリファレンス を参照してください。
designTokenPanel
インタラクティブなDesign Token Panelを有効にします。trueの場合、ヘッダーにパレットアイコンが表示され、タブ型のパネルを開いてスペーシング・フォント・サイズ・カラーの各トークンをリアルタイムで編集できます。変更はlocalStorageに保存され、JSONとしてエクスポート/インポートできます。
デフォルト:false(trueに設定して有効化)
Tip
4つのタブ構成やJSONエクスポートワークフローについてはDesign Token Panelリファレンスを参照してください。
aiAssistant
AIアシスタントチャットウィジェットを有効にします。trueの場合、ページにチャットボタンが表示され、ドキュメントに関する質問に答えるAI搭載のアシスタントが開きます。チャットAPIはCloudflare Workers SSRエンドポイント(pages/)として動作します。wrangler.tomlにANTHROPIC_API_KEY、DOCS_SITE_URL、およびRATE_LIMIT KV名前空間の設定が必要です。
型:boolean
デフォルト:false
aiAssistant: true,aiChatDemoMode
trueの場合、POST /api/ai-chatエンドポイントはAPIキー、KV名前空間、レートリミッターに触れることなく固定の「デモでは無効」返答を返します。実際のClaudeバックエンドを有効にする場合は、ANTHROPIC_API_KEYを設定した上でfalseに変更してください。
型:boolean
デフォルト:true
aiChatAllowedOrigins
aiChatDemoModeがfalseの場合にPOST /api/ai-chatへのCORSを許可するオリジン一覧。一致しないオリジンはAccess-Control-Allow-Originヘッダーを受け取らないため、ブラウザがリクエストをブロックします。空配列(デフォルト)はすべてのクロスオリジンブラウザリクエストをブロックし、同一オリジンからのリクエストは常に許可されます。
型:string[]
デフォルト:[]
aiChatAllowedOrigins: ["https://your-docs-site.example.com"],aiChatGlobalDailyLimit
コスト抑制のためのグローバル日次リクエスト上限(オプション)。false(デフォルト)は上限なし。正の整数(例:500)を設定すると、その日のUTC日付内でその件数のリクエストが処理された時点でHTTP 429を返します。デモモードでは無効です。
型:number | false
デフォルト:false
aiChatGlobalDailyLimit: 500,sidebarToggle
サイドバー折り畳みトグルを有効にします。trueの場合、サイドバーヘッダーのボタンでユーザーがサイドバーを完全に折り畳むことができ、コンテンツの水平スペースが広がります。折り畳み状態はlocalStorageに保存されます。
型:boolean
デフォルト:false
sidebarToggle: true,sidebarResizer
サイドバー幅のリサイズを有効にします。trueの場合、サイドバーの右端にドラッグハンドルが表示され、ユーザーがサイドバー幅をドラッグして調整できます。リサイズ後の幅はlocalStorageに保存されます。
型:boolean
デフォルト:false
sidebarResizer: true,docHistory
ドキュメントごとのgitリビジョン履歴ビューアを有効にします。trueの場合、各ドキュメントページにHistoryボタンが表示され、ドキュメントのgitコミット履歴と行単位のdiffビューアを備えたサイドパネルが開きます。
開発モードでは、履歴はポート4322で動作するスタンドアロンの@takazudo/zudo-doc-history-serverパッケージが配信します。本番環境では、CLIジェネレーターがCI中に静的JSONファイルを生成します。サーバーとCLIの詳細についてはDoc History Serverリファレンスを参照してください。
デフォルト:false(trueに設定して有効化)
Tip
使用方法の詳細、キーボードショートカット、技術情報についてはドキュメント履歴ガイドを参照してください。
bodyFootUtilArea
各ドキュメントページのボディ末尾のユーティリティアクションエリアに表示する項目を制御します。エリアを完全に非表示にするにはfalseを設定します。
型:BodyFootUtilAreaConfig | false
デフォルト:false
| プロパティ | 型 | 説明 |
|---|---|---|
docHistory | boolean(オプション) | Historyボタンを表示(docHistory: trueが必要) |
viewSourceLink | boolean(オプション) | ソースファイルへのリンクを表示(editUrlが必要) |
bodyFootUtilArea: {
docHistory: true,
viewSourceLink: true,
},
// またはエリアを非表示:
bodyFootUtilArea: false,tocMinDepth
目次に含める最小見出し深さ(制限のみ:2〜4、デフォルト2)。3または4に上げると、より浅い見出しを目次から非表示にできます。2(h1は常にページタイトル)を下回ることもtocMaxDepthを超えることもできません。
型:number
デフォルト:2
tocMinDepth: 3, // h2見出しを目次から非表示にするtocMaxDepth
目次に含める最大見出し深さ(制限のみ:2〜4、デフォルト4)。2または3に下げると、より深い見出しを目次から非表示にできます。4を超えることもtocMinDepthを下回ることもできません。
型:number
デフォルト:4
tocMaxDepth: 3, // h4見出しを目次から非表示にするheadingIdStrategy
見出しアンカーIDの生成方法を制御します。
"flat"(zfbのデフォルト)— h2〜h6で共有する1つの重複カウンターを使ったgithub-sluggerスラグ(例:overview、overview-1)。"hierarchical"— 各見出しのスラグに祖先チェーンのプレフィックスを付けます(例:## Foo/### Bar→foo、foo-bar)。フルパスで重複排除するため、アンカーの衝突が大幅に減少します。
"flat"から"hierarchical"への切り替えは、ネストされた見出しへの既存のディープリンクを破壊する変更です。
型:"flat" | "hierarchical"
デフォルト:"hierarchical"
headingIdStrategy: "flat",htmlPreview
<HtmlPreview>コンポーネントのグローバル設定です。設定すると、指定したhead、css、jsがサイト上のすべての<HtmlPreview> iframeに注入されます。共有フォント、デザインシステムのスタイルシート、ユーティリティスクリプトを各コンポーネントデモで繰り返すことなく読み込む際に便利です。
グローバル注入を無効にするにはundefined(デフォルト)に設定します。
型:HtmlPreviewConfig | undefined
デフォルト:undefined
HtmlPreviewConfigオブジェクトは以下のプロパティを受け入れます:
| プロパティ | 型 | 説明 |
|---|---|---|
head | string(オプション) | <head>に注入される生のHTML(例:フォントやアイコンライブラリの<link>タグ) |
css | string(オプション) | プリフライトリセット後に<style>ブロックとして注入されるCSS |
js | string(オプション) | </body>の前に<script>ブロックとして注入されるJavaScript |
htmlPreview: {
head: `<link rel="stylesheet" href="https://example.com/design-system.css">`,
css: `body { font-family: sans-serif; }`,
js: `console.log("HtmlPreview loaded")`,
},
// またはグローバル注入を無効化:
htmlPreview: undefined,Tip
個々の<HtmlPreview>ブロックは、独自のhead、css、またはjsプロパティを渡すことでグローバル設定を拡張できます — 値はグローバル設定に上書きではなく追加されます。
claudeResources
Claude Codeリソースビューアを設定します。.claude/ディレクトリからドキュメントページを自動生成します。無効にするにはfalseに設定します。
| プロパティ | 型 | 説明 |
|---|---|---|
claudeDir | string | .claudeディレクトリへのパス(プロジェクトルートからの相対パス) |
projectRoot | string(オプション) | モノレポ設定用のプロジェクトルートオーバーライド |
claudeResources: {
claudeDir: ".claude",
},
// または無効化:
claudeResources: false,Tip
生成される内容と仕組みの詳細についてはClaude Codeリソースガイドを参照してください。
footer
サイトフッターを設定します。FooterConfigオブジェクトを設定すると、リンク列とオプションの著作権テキストを含むフッターがレンダリングされます。フッターを完全に無効にするにはfalseを設定します。
型:FooterConfig | false
デフォルト:false
FooterConfigオブジェクトは以下を受け入れます:
| プロパティ | 型 | 説明 |
|---|---|---|
links | FooterLinkColumn[] | フッターに表示されるリンク列の配列 |
copyright | string(オプション) | 下部に表示される著作権テキスト。HTMLをサポート |
各FooterLinkColumn:
| プロパティ | 型 | 説明 |
|---|---|---|
title | string | 列の見出し |
items | FooterLinkItem[] | この列のリンクの配列 |
locales | Record(オプション) | ロケール別タイトルのオーバーライド(例:{ ja: { title: "ドキュメント" } }) |
各FooterLinkItem:
| プロパティ | 型 | 説明 |
|---|---|---|
label | string | リンクの表示テキスト |
href | string | リンクURL |
locales | Record(オプション) | ロケール別ラベルのオーバーライド(例:{ ja: { label: "はじめに" } }) |
footer: {
links: [
{
title: "Docs",
locales: { ja: { title: "ドキュメント" } },
items: [
{ label: "Getting Started", href: "/docs/getting-started", locales: { ja: { label: "はじめに" } } },
],
},
{
title: "Community",
items: [{ label: "GitHub", href: "https://github.com/my-org/my-repo" }],
},
],
copyright: `Copyright © ${new Date().getFullYear()} Your Name.`,
},
// またはフッターを無効化:
footer: false,headerNav
サイトヘッダーバーにレンダリングされるナビゲーションリンクの配列。各アイテムは以下のプロパティをサポートします:
| プロパティ | 型 | 説明 |
|---|---|---|
label | string | ヘッダーに表示されるテキスト |
labelKey | string(オプション) | 翻訳が利用可能な場合にlabelを上書きするi18n翻訳キー |
path | string | リンク先のURLパス |
categoryMatch | string(オプション) | このヘッダータブをサイドバーカテゴリにリンク |
headerNav: [
{ label: "Getting Started", labelKey: "nav.gettingStarted", path: "/docs/getting-started", categoryMatch: "getting-started" },
{ label: "Guides", labelKey: "nav.guides", path: "/docs/guides", categoryMatch: "guides" },
{ label: "Reference", labelKey: "nav.reference", path: "/docs/reference", categoryMatch: "reference" },
{ label: "Claude", labelKey: "nav.claude", path: "/docs/claude", categoryMatch: "claude" },
],headerRightItems
サイトヘッダーの右側にレンダリングされる項目を順番に制御します。各項目はtypeフィールドによる直和型です。
型:HeaderRightItem[]
type | 追加フィールド | 説明 |
|---|---|---|
"component" | component — "theme-toggle", "language-switcher", "version-switcher", "github-link", "search" のいずれか | 組み込みヘッダーコンポーネントをレンダリング |
"trigger" | trigger — "design-token-panel", "ai-chat" のいずれか | パネルを開くボタンをレンダリング(対応する機能の有効化が必要) |
"link" | href(string)、label?(string)、ariaLabel?(string)、icon?("github") | カスタムリンクをレンダリング |
"html" | html(string) | 生のHTMLをレンダリング |
headerRightItems: [
{ type: "component", component: "version-switcher" },
{ type: "trigger", trigger: "design-token-panel" },
{ type: "trigger", trigger: "ai-chat" },
{ type: "component", component: "github-link" },
{ type: "component", component: "theme-toggle" },
{ type: "component", component: "search" },
{ type: "component", component: "language-switcher" },
// カスタム外部リンク:
{ type: "link", href: "https://example.com", label: "Blog", ariaLabel: "Blog" },
],zfb設定
ルートのzfb.config.tsがビルドパイプラインを制御します:
export default defineConfig({
framework: "preact",
tailwind: { enabled: true },
collections, // settings.docsDir + settings.localesから導出
adapter: "@takazudo/zfb-adapter-cloudflare",
plugins: integrationPlugins, // doc-history / search-index / llms-txt / claude-resources
});主なポイント:
framework:Preact — すべてのコンポーネントは
.tsxファイル(デフォルトでサーバーレンダリング、クライアントアイランドはzfbのランタイムでハイドレート)tailwind:Tailwind CSS v4のファーストクラスインテグレーション
collections:
settings.docsDirとsettings.localesから生成され、同じファイル内のzodスキーマで検証adapter:Cloudflare Workers — SSRバンドルを
dist/にラップします。_ worker. js prerender = falseをエクスポートするルートに必須plugins:各インテグレーション(doc-history、search-index、llms-txt、claude-resources)は、
.配下の小さなラッパーモジュールで、デフォルトエクスポートが/ plugins/ ZfbPlugini18nルーティング:英語(デフォルト、
/)とdocs/ . . . settings.localesで宣言された追加ロケール。デフォルトロケールにはURLプレフィックスなしビルド時ハイライト:syntect(zfbのRustパイプライン)による固定テーマ(
base16-ocean-dark)で処理。colorSchemeの設定からは導出されません
ロゴ
サイトロゴはランディングページにフルカラーのバナー画像として表示されます。ファイルはpublic/にあります。
デフォルトのバナーは背景が埋め込まれた1200×630のSVGで、CSSマスクなしでライト・ダーク両テーマで正しく表示されます。ロゴを更新するには、public/を任意のSVGファイルに置き換えてください。
バナーは通常の<img>要素としてレンダリングされるため、背景色やアルファチャンネルに制約はありません — どんなSVGでもそのまま表示されます。
カラースキーム設定
カラースキームはsrc/で定義されます。各スキームは21のカラープロパティを提供します:
background、foreground、cursor、selectionBg、selectionFgpalette— 16色スロット(palette[0]からpalette[15])semantic(オプション)—surface、muted、accent、accentHoverなどのオーバーライド
Info
カラースキームの追加やカスタマイズの詳細についてはカラーガイドを参照してください。