コードハイライト
Methanol は、Starry Night を使用してコードブロックの構文ハイライトを行います(rehype-starry-night 経由)。この機能はデフォルトで有効です。
有効化と無効化
デフォルトで有効です。必要に応じて methanol.config.* 内で starryNight オプションを設定します。
// methanol.config.js
export default () => ({
starryNight: true
})
明示的に無効化する場合:
// methanol.config.js
export default () => ({
starryNight: false
})
CLI で一時的に切り替えることも可能です(1 回のビルドのみ有効):
npx methanol build --highlight
npx methanol build --no-highlight
ページ単位での設定上書き
各ページのフロントマター設定は、グローバル設定よりも優先されます。
---
starryNight: true
---
他のハイライターへの置き換え
Starry Night 以外のソリューションを使用する場合の手順:
starryNight: falseで標準機能を無効化します。mdx設定オプションを通じて、任意のリハイク(rehype)プラグインを追加します。
export default () => ({
starryNight: false,
mdx: () => ({
rehypePlugins: [/* 任意のハイライト用プラグイン */]
})
})
スタイリング
Methanol は、ハイライト用の CSS を自動的に挿入しません。使用するテーマ側で必要なスタイルを読み込むか、独自にスタイル定義を用意してください。
言語の自動読み込み
Methanol はコンテンツ内のフェンスコードに指定された言語を検出し、Starry Night が対応している文法を自動で読み込みます。通常は手動設定は不要です。
次の場合のみ starryNight.grammars を設定してください。
- 同じ拡張子に複数の言語があり、特定の文法を強制したい場合
- Starry Night が対応していない言語に独自の文法を追加したい場合
サポート言語の上書き
文法セットを上書き/拡張したい場合は、starryNight.grammars を指定します。
import sourceMDX from '@wooorm/starry-night/source.mdx'
export default () => ({
starryNight: {
grammars: [sourceMDX]
}
})
※ 追加の文法データを読み込むには、プロジェクトに @wooorm/starry-night を直接インストールする必要があります。