変数
blume.config.ts で値を一度定義すれば、本文、コード、リンク、コンポーネントの props など、ページ内の必要な場所に {{name}} と書くだけでその値を使えます。
値を一度定義すれば、すべてのページで使えます。バージョン番号、API ホスト、製品名などを blume.config.ts に定義しておくと、ページ内の {{name}} がその値を読み込みます。
export default defineConfig({
variables: {
version: "2.1.0",
"api-url": "https://api.example.com",
},
});
Install version {{version}}, then call {{api-url}}.
## What's new in {{version}}
<Card title="Release {{version}}" href="{{api-url}}/changelog" />
参照は、.md と .mdx のページ、およびそれらがインクルードするファイルの中で使えます。本文、見出し、リンク、コードブロック、インラインコード、コンポーネントの props のいずれにも書けます。波括弧の内側にスペースを入れても問題ありません({{ version }})。設定の値を変更すると、次回のビルドですべてのページに反映されます。
名前には英字、数字、_、- を使用できます。値は 1 行のプレーンテキストです。
適用される範囲
変数は、ほかの処理がページを読み込む前に置換されます。そのため、レンダリングされた HTML、検索、ページの .md ミラー、llms-full.txt のすべてに値が表示されます。
フロントマターは置換されず、記述したとおりに残ります。title や description に {{version}} を含めた場合は、波括弧がそのまま表示されます。
未定義の名前
本文中にある未定義の {{name}} は、ビルドエラー BLUME_UNDEFINED_VARIABLE になり、その行の位置が報告されます。そのため、タイプミスが読者の目に触れることはありません。コードブロックやインラインコードの中では、未定義の名前は記述したとおりに残ります。これらの場所では Handlebars の {{title}} のようなテンプレートの例がよく使われるためです。
定義していない参照を本文中にそのまま表示するには、インラインコードで囲みます:`{{name}}`。
変数を 1 つも定義していないサイトには影響しません。ページ内の {{…}} は記述したとおりに残ります。