代码高亮
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
---
集成第三方高亮方案
若需切换至其他高亮方案:
- 在配置文件中禁用 Starry Night(
starryNight: false) - 在
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 依赖。