跳到主要内容

配置

Docusaurus 之所以如此受欢迎,是因为其配置简单,仅需简单的配置就可以实现强大的功能,并且支持丰富的自定义能力。由于官方默认 文档 Style 配置,在此基础上发现 Docusaurus 也很适合作为书本 Style,当然你也可以自定义开发,我这里仅仅是在使用官方提供的常用配置功能来演示

本篇文章是两种风格的一些通用配置,当然官方还有很多的配置,这里只列举了常用的配置,更多配置可以参考官方文档 docusaurus.config.js

侧边栏

侧边栏有两种方式,一种是手动配置,另一种可根据指定路径自动生成,无论使用那种方式都需要两步:

1. 定义 sidebar.ts

在配置侧边栏时有多种类型

  1. Doc: 文档页面的链接,并和侧边栏绑定
  2. Link:内部或外部页面链接
  3. Category:创建侧边栏项下拉菜单
  4. Autogenerated:自动生成侧边栏切片
  5. HTML:在这个位置渲染纯 HTML
  6. *Ref:链接到文档页面,但项目不会参与生成导航
sidebars.ts
export default {
mySidebar: [
// 常规语法:
{
type: 'doc',
id: 'doc1', // 文档 ID
label: 'Getting started', // 侧边栏标签
},
// 简写语法:
'doc2', // 文档 ID
],
};

2. docusaurus.config.ts

直接将此对象传入 @docusaurus/plugin-docs 或通过 @docusaurus/preset-classic 传入

docusaurus.config.ts
export default {
presets: [
[
'@docusaurus/preset-classic',
{
docs: {
sidebarPath: './sidebars.ts',
},
},
],
],
};

主题颜色

可通过 Infima 进行生成主题色

src/css/custom.css
/* 默认颜色. */
:root {
--ifm-color-primary: #2e8555;
--ifm-color-primary-dark: #29784c;
--ifm-color-primary-darker: #277148;
--ifm-color-primary-darkest: #205d3b;
--ifm-color-primary-light: #33925d;
--ifm-color-primary-lighter: #359962;
--ifm-color-primary-lightest: #3cad6e;
--ifm-code-font-size: 95%;
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
}

/* dark 模式颜色. */
[data-theme='dark'] {
--ifm-color-primary: #25c2a0;
--ifm-color-primary-dark: #21af90;
--ifm-color-primary-darker: #1fa588;
--ifm-color-primary-darkest: #1a8870;
--ifm-color-primary-light: #29d5b0;
--ifm-color-primary-lighter: #32d8b4;
--ifm-color-primary-lightest: #4fddbf;
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
}

代码块

以下展示了 Docusaurus 默认不支持的语言配置

docusaurus.config.ts
const config: Config = {
themeConfig: {
prism: {
additionalLanguages: [
'java',
'bash',
'json'
],
}
}
}

在 3.4.0 版本,由于 jiti 版本问题,添加 Docusaurus 不支持的语言,并未生效,可对 jiti 的版本强制指定

package.json
"resolutions": {
"jiti": "1.21.0"},