UNPKG

@modern-js/doc-tools-doc

Version:

Website for @modern-js/doc-tools

181 lines (130 loc) 3.8 kB
# 构建配置 ## builderConfig - Type: `Object` 用于自定义 Modern.js Builder 的配置项,完整配置项请查看 [Modern.js Builder - API](https://modernjs.dev/builder/api/index.html)。 比如,将产物目录修改为 `doc_dist`: ```ts title="modern.config.ts" export default defineConfig({ doc: { builderConfig: { output: { distPath: { root: 'doc_dist', }, }, }, }, }); ``` ## builderPlugins - Type: `BuilderPlugin[]` 用于加入 [Modern.js Builder 的插件](https://modernjs.dev/builder/plugins/introduction.html),比如: ```ts title="modern.config.ts" import { docTools, defineConfig } from '@modern-js/doc-tools'; import { builderPluginStylus } from '@modern-js/builder-plugin-stylus'; export default defineConfig({ doc: { builderPlugins: [builderPluginStylus()], }, plugins: [docTools()], }); ``` ### 默认配置 如果你需要查看默认的 `builderConfig`,可以在执行 `modern dev` 或 `modern build` 命令时,添加 `DEBUG=builder` 参数: ```bash DEBUG=builder modern dev ``` 在执行后,`doc_build` 目录下会生成 `builder.config.js` 文件,里面包含了完整的 `builderConfig`。 > 请查看 [Modern.js Builder - 调试模式](https://modernjs.dev/builder/guide/debug/debug-mode.html) 来了解更多调试 Builder 的方法。 ## markdown - Type: `Object` 配置 MDX 相关的编译能力。 ### markdown.remarkPlugins - Type: `Array` - Default: `[]` 配置 remark 插件。比如: ```ts title="modern.config.ts" import { docTools, defineConfig } from '@modern-js/doc-tools'; export default defineConfig({ doc: { markdown: { remarkPlugins: [ [ require('remark-autolink-headings'), { behavior: 'wrap', }, ], ], }, }, plugins: [docTools()], }); ``` ### markdown.rehypePlugins - Type: `Array` 配置 rehype 插件。比如: ```ts title="modern.config.ts" import { docTools, defineConfig } from '@modern-js/doc-tools'; export default defineConfig({ doc: { markdown: { rehypePlugins: [ [ require('rehype-autolink-headings'), { behavior: 'wrap', }, ], ], }, }, plugins: [docTools()], }); ``` ### markdown.checkDeadLinks - Type: `boolean` - Default: `false` 是否检查死链。比如: ```ts title="modern.config.ts" import { docTools, defineConfig } from '@modern-js/doc-tools'; export default defineConfig({ doc: { markdown: { checkDeadLinks: true, }, }, plugins: [docTools()], }); ``` 开启这个配置后,框架会基于约定式路由表对文档中的链接进行检查,若出现无法访问的链接,构建会抛出错误并退出。 ### markdown.experimentalMdxRs - Type: `boolean` 是否使用 MDX 的 Rust 版本编译器,为实验性质功能。比如: import MdxRs from '../../fragments/mdx-rs'; <MdxRs /> ### markdown.showLineNumbers - Type: `boolean` 是否显示代码块的行号。默认为 `false`。 ### markdown.globalComponents - Type: `string[]` 注册全局组件,无需通过导入声明,就可以在每个 MDX 文件中使用。比如: ```ts title="modern.config.ts" import { docTools, defineConfig } from '@modern-js/doc-tools'; import path from 'path'; export default defineConfig({ doc: { markdown: { globalComponents: [path.join(__dirname, 'src/src/components/Alert.tsx')], }, }, plugins: [docTools()], }); ``` 这样你就可以在 MDX 文件中使用 `Alert` 组件了: ```mdx title="test.mdx" <Alert type="info">This is a info alert</Alert> ``` :::danger 警告 请勿在配置 `globalComponents` 时开启 `experimentalMdxRs`,否则会导致全局组件不生效。 :::