最小構成#
site:
title: My Site
description: Site description
base_url: https://example.pages.dev
lang: ja
build:
content_dir: content
out_dir: dist
permalink: "{{slug}}.html"
ブログ機能#
build:
blog:
page_size: 50
index_archive_limit: 15
featured_mode: excerpt # excerpt | full | off
excerpt_length: 400
archives: true
tags: true
フォントサブセット#
ページごとに WOFF2 サブセットを埋め込みます(bunsen WASM)。
fonts:
enabled: true
cache_dir: .sorane/cache/fonts
skip_key: noFontEmbedding
roles:
body: ["Noto Sans JP"]
sources:
"Noto Sans JP":
source: assets/fonts/NotoSansJP-VF.ttf
weight: "100 900"
frontmatter で noFontEmbedding: true を指定したページはシステムフォントを使います。
検索#
標準は FTS(キーワード検索)です。モデル不要で軽量です。
search:
index: .sorane/index.db
ハイブリッド(自然文 RAG)は experimental です。埋め込みモデルとランタイム(約 24MB)が必要です。
search:
mode: hybrid # experimental
index: .sorane/index.db
model: vendor/models
model_id: ruri-v3-30m
bundle_model: false # Cloudflare Pages 25MiB 制限対策
asset_base_url: "" # R2 等に ONNX を置く場合
sorane index… FTS(既定)sorane index --hybrid… ベクトル付きインデックス(要npm run fetch-model)
検索 UI は view: search を持つ記事ページで有効になります。
図表(Mermaid / D2)#
Markdown のコードフェンスで図を書けます。ソースは .md 代替ファイルと OKF バンドルにそのまま残ります。
build:
diagrams:
enabled: true
mermaid:
mode: client # client | build | off
mmdc: mmdc # mermaid.mode: build 時の CLI(既定は @mermaid-js/mermaid-cli)
d2:
enabled: false
binary: d2
graphviz:
enabled: false
binary: dot
```mermaid…mode: client(既定)ではクライアント描画(sorane-mermaid-loader.mjsを条件付き読み込み)mermaid.mode: build…@mermaid-js/mermaid-cli(mmdc + Chromium)でビルド時 SVG(assets/diagrams/mermaid/{hash}.svg)。クライアント loader は不要alt="..."を info string に付けるか、%% alt: 説明コメントで代替テキストを指定d2.enabled: true…d2CLI でビルド時 SVG(assets/diagrams/d2/{hash}.svg)```graphviz/```dot…graphviz.enabled: trueかつdotが PATH にあるときビルド時 SVG- いずれのバックエンドも CLI 欠落時は警告のうえ
<pre><code>フォールバック(ビルドは継続)
詳細と例は 図表 を参照してください。