📦 plugin-content-docs
提供Docs功能,是 Docusaurus 的默认文档插件。
安装
- npm
- Yarn
- pnpm
npm install --save @docusaurus/plugin-content-docs
yarn add @docusaurus/plugin-content-docs
pnpm add @docusaurus/plugin-content-docs
提示
如果你使用预设的@docusaurus/preset-classic
,你不需要将这个插件作为依赖项安装。
您可以通过预设选项配置此插件。
配置
接受字段:
名字 | 类型 | 默认的 | 描述 |
---|---|---|---|
path | string | 'docs' | 文件系统中 docs 内容目录的路径,相对于站点目录。 |
editUrl | string | EditUrlFunction | undefined | 用于编辑站点的基础 URL。最终的 URL 由editUrl + relativeDocPath 计算。使用函数可以对每个文件进行更细致的控制。完全省略这个变量将禁用编辑链接。 |
editLocalizedFiles | boolean | false | 编辑 URL 将针对已本地化的文件,而不是原始的未本地化文件。当editUrl 是函数时忽略。 |
editCurrentVersion | boolean | false | 编辑 URL 将始终针对当前版本文档,而不是旧版本。当editUrl 是函数时忽略。 |
routeBasePath | string | 'docs' | 网站文档部分的 URL 路由。不要包含尾斜杠。对于没有基本路径的 shipping docs 使用/ 。 |
tagsBasePath | string | 'tags' | 您网站的标签列表页面的 URL 路由。它被附加到routeBasePath 。 |
include | string[] | ['**/*.{md,mdx}'] | 与要构建的 Markdown 文件相匹配的全局模式数组,相对于内容路径。 |
exclude | string[] | See example configuration | 匹配要排除的降级文件的全局模式数组。作为基于include 选项的细化。 |
sidebarPath | false | string | undefined | 到侧栏配置的路径。使用false 来禁用侧边栏,或使用undefined 来创建完全自动生成的侧边栏。 |
sidebarCollapsible | boolean | true | 默认情况下,侧栏类别是否可折叠。参见可折叠的类别 |
sidebarCollapsed | boolean | true | 默认情况下,侧边栏类别是否折叠。参见默认展开的类别 |
sidebarItemsGenerator | SidebarGenerator | Omitted | 函数用于将'autogenerated' 类型的侧边栏项替换为真正的侧边栏项(文档、类别、链接…)。参见自定义侧边栏项生成器 |
numberPrefixParser | boolean | PrefixParser | Omitted | 自定义解析逻辑从文件名中提取数字前缀。使用false 来禁用此行为并保持文档不变,使用true 来使用默认解析器。参见使用数字前缀 |
docsRootComponent | string | '@theme/DocsRoot' | 所有文档插件页面(包括所有版本)的父组件。在文档页面和版本之间导航时保持挂载状态。 |
docVersionRootComponent | string | '@theme/DocVersionLayout' | 单个版本中所有文档页面的父组件(带有侧边栏的文档页面、标签页面)。在该特定版本的页面之间导航时保持挂载状态。 |
docRootComponent | string | '@theme/DocPage' | 所有带侧边栏的文档页面的父组件(常规文档页面,分类生成的索引页面)。在这些页面之间导航时保持挂载状态。 |
docItemComponent | string | '@theme/DocItem' | 主文档容器,具有 TOC,分页等。 |
docTagsListComponent | string | '@theme/DocTagsListPage' | 标签列表页面的根组件 |
docTagDocListComponent | string | '@theme/DocTagDocListPage' | "docs contains tag X"页面的根组件。 |
docCategoryGeneratedIndexComponent | string | '@theme/DocCategoryGeneratedIndexPage' | 生成的类别索引页的根组件。 |
remarkPlugins | any[] | [] | Remark 插件传递给 MDX。 |
rehypePlugins | any[] | [] | Rehype 插件传递给 MDX。 |
beforeDefaultRemarkPlugins | any[] | [] | 在默认 Docusaurus Remark 插件之前传递给 MDX 的自定义 Remark 插件。 |
beforeDefaultRehypePlugins | any[] | [] | 自定义 Rehype 插件在默认 Docusaurus Rehype 插件之前传递给 MDX。 |
showLastUpdateAuthor | boolean | false | 是否显示最后更新文档的作者。 |
showLastUpdateTime | boolean | false | 是否显示文档最后更新的日期。 |
breadcrumbs | boolean | true | 启用或禁用文档页面上的面包屑。 |
disableVersioning | boolean | false | 即使存在多个版本,也要显式禁用版本控制。这将使网站只包括当前版本。如果includeCurrentVersion: false 和disableVersioning: true 将会出错。 |
includeCurrentVersion | boolean | true | 包含当前版本的文档。 |
lastVersion | string | First version in versions.json | 文档导航栏项导航到的优先级和默认显示的版本。 |
onlyIncludeVersions | string[] | All versions available | 只包含所有可用版本的子集。 |
versions | VersionsConfig | {} | 独立定制每个版本的属性。 |
Types
EditUrlFunction
type EditUrlFunction = (params: {
version: string;
versionDocsDirPath: string;
docPath: string;
permalink: string;
locale: string;
}) => string | undefined;
PrefixParser
type PrefixParser = (filename: string) => {
filename: string;
numberPrefix?: number;
};
SidebarGenerator
type SidebarGenerator = (generatorArgs: {
/** The sidebar item with type "autogenerated" to be transformed. */
item: { type: "autogenerated"; dirName: string };
/** Useful metadata for the version this sidebar belongs to. */
version: { contentPath: string; versionName: string };
/** All the docs of that version (unfiltered). */
docs: {
id: string;
title: string;
frontMatter: DocFrontMatter & Record<string, unknown>;
source: string;
sourceDirName: string;
sidebarPosition?: number | undefined;
}[];
/** Number prefix parser configured for this plugin. */
numberPrefixParser: PrefixParser;
/** The default category index matcher which you can override. */
isCategoryIndex: CategoryIndexMatcher;
/**
* key is the path relative to the doc content directory, value is the
* category metadata file's content.
*/
categoriesMetadata: { [filePath: string]: CategoryMetadata };
/**
* Useful to re-use/enhance the default sidebar generation logic from
* Docusaurus.
*/
defaultSidebarItemsGenerator: SidebarGenerator;
// Returns an array of sidebar items — same as what you can declare in
// sidebars.js, except for shorthands. See https://docusaurus.io/docs/sidebar/items
}) => Promise<SidebarItem[]>;
type CategoryIndexMatcher = (param: {
/** The file name, without extension */
fileName: string;
/**
* The list of directories, from lowest level to highest.
* If there's no dir name, directories is ['.']
*/
directories: string[];
/** The extension, with a leading dot */
extension: string;
}) => boolean;