Docusaurus如何保留文档标题生成锚点的原有大小写?
可以实现,Docusaurus 默认的锚点生成规则会自动将所有字符转为小写,你可以通过修改内置 remark-slug 插件的配置覆盖该逻辑:
基础配置(仅保留大小写)
如果你只需要保留驼峰大小写,不需要保留 .、() 等特殊符号,直接修改项目根目录的 docusaurus.config.js 即可:
module.exports = { presets: [ [ '@docusaurus/preset-classic', { docs: { // 原有其他配置保留 remarkPlugins: [ [require('remark-slug'), { maintainCase: true }], ], }, // 其余站点配置保留 } ] ] }
自定义规则(保留大小写+特殊字符)
如果你需要同时保留标题中的 .、() 等特殊字符来匹配 jsdoc 生成的链接,可以自定义 slugify 函数:
// 自定义锚点生成规则,可根据需求调整过滤逻辑 const customSlugify = (str) => { // 示例规则:仅去除首尾空格,将中间的空格替换为横线,保留其他所有字符和大小写 return str.trim().replace(/\s+/g, '-'); } module.exports = { presets: [ [ '@docusaurus/preset-classic', { docs: { // 原有其他配置保留 remarkPlugins: [ [require('remark-slug'), { maintainCase: true, slugify: customSlugify }], ], }, // 其余站点配置保留 } ] ] }
配置完成后重启开发服务或重新执行打包命令,生成的锚点就会保留 markdown 标题的原有大小写,完全适配 jsdoc 自动生成的链接格式。
内容的提问来源于stack exchange,提问作者djip.co
相关产品推荐
相关产品推荐

