代码高亮

Methanol 基于 Starry Night 实现代码高亮(集成 rehype-starry-night)。出于性能与构建速度考量,默认处于关闭状态。

全局启停

methanol.config.* 中设置 starryNight

// methanol.config.js
export default () => ({
	starryNight: true
})

显式禁用:

// methanol.config.js
export default () => ({
	starryNight: false
})

CLI 临时开关(单次构建生效):

npx methanol build --code-highlighting # 本次启用
npx methanol build --code-highlighting false # 本次禁用

页面级配置覆盖

页面 Frontmatter 配置拥有最高优先级:

---
starryNight: true
---

集成第三方高亮方案

若需切换至其他高亮方案:

  1. 在配置文件中禁用 Starry Night(starryNight: false
  2. mdx 配置中加入你的插件
export default () => ({
	starryNight: false,
	mdx: () => ({
		rehypePlugins: [/* 你的高亮插件 */]
	})
})

样式定制

Methanol 不会自动注入高亮样式。通常由主题负责加载 CSS,开发者亦可自行引入 CSS 文件定义 Starry Night 样式。

扩展语言支持

Starry Night 内置基础语法集。如需支持更多语言,可在 starryNight.grammars 中进行扩展。

import { common } from '@wooorm/starry-night'
import sourceMDX from '@wooorm/starry-night/source.mdx'

export default () => ({
	starryNight: {
		grammars: [...common, sourceMDX]
	}
})

注意: 加载扩展语法前,需在当前项目中安装 @wooorm/starry-night 依赖。