预设

预设是插件和主题的集合。

使用预设

预设(preset)通常是一个 npm 软件包,因此你可以像安装其他软件包一样使用 npm 安装它们。

npm install --save docusaurus-preset-name

然后,在站点的 docusaurus.config.js 配置文件中的 presets 参数中进行配置:

docusaurus.config.js
module.exports = {
// ...
presets: ['@docusaurus/preset-xxxx'],
};

如需从本地目录加载预设,请指定如何解析它们:

docusaurus.config.js
const path = require('path');
module.exports = {
// ...
presets: [path.resolve(__dirname, '/path/to/docusaurus-local-presets')],
};

Presets -> themes and plugins

预设是添加插件和主题到 docusaurus 配置文件中的一种快捷方式。 例如,你可以定义一个包含以下主题和插件的预设,

module.exports = function preset(context, opts = {}) {
return {
themes: [
require.resolve('@docusaurus/themes-cool'),
require.resolve('@docusaurus/themes-bootstrap'),
],
plugins: [require.resolve('@docusaurus/plugin-blog')],
};
};

然后在你的 Docusaurus 配置文件中使用此预设:

docusaurus.config.js
module.exports = {
// ...
presets: ['@docusaurus/preset-my-own'],
};

等同于以下方式:

docusaurus.config.js
module.exports = {
themes: ['@docusaurus/themes-cool', '@docusaurus/themes-bootstrap'],
plugins: ['@docusaurus/plugin-blog'],
};

当打算将某些插件和主题一起使用时,这中方式特别有用。

官方预设

@docusaurus/preset-classic

通常默认情况下新建的 docusaurus 站点会自动添加 @docusaurus/preset-classic 预设。 此预设包含了一组插件和主题。

主题插件
@docusaurus/theme-classic@docusaurus/plugin-content-docs
@docusaurus/theme-search-algolia@docusaurus/plugin-content-blog
@docusaurus/plugin-content-pages
@docusaurus/plugin-google-analytics
@docusaurus/plugin-google-gtag
@docusaurus/plugin-sitemap

要单独指定插件的话,你可以为某些插件提供必要的字段,例如为 @docusaurus/theme-classic 添加 customCss 参数,只需在 preset 字段中设置即可,如下所示:

docusaurus.config.js
module.exports = {
presets: [
[
'@docusaurus/preset-classic',
{
// Will be passed to @docusaurus/theme-classic.
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
// Will be passed to @docusaurus/plugin-content-docs
docs: {},
// Will be passed to @docusaurus/plugin-content-blog
blog: {},
// Will be passed to @docusaurus/plugin-content-pages
pages: {},
// Will be passed to @docusaurus/plugin-content-sitemap
sitemap: {},
},
],
],
};

除了这些插件和主题外,@docusaurus/theme-classicremark-admonitions 作为 remark 插件添加到 @docusaurus/plugin-content-blog@docusaurus/plugin-content-docs 中。

admonitions 键将作为 参数(options) 传递给 remark-admonitions。若传递 false 将阻止将插件添加到 MDX。

docusaurus.config.js
module.exports = {
presets: [
[
'@docusaurus/preset-classic',
{
docs: {
// options for remark-admonitions
admonitions: {},
},
},
],
],
};
Last updated on by wangsai