跳到主要内容

开始

VitePress Sidebar 是一个与 VitePress 兼容的侧边栏自动生成插件。

本页面将引导您完成 VitePress 侧边栏模块的安装和使用。

安装

首先,您可能需要在使用此模块之前预先配置 VitePress

建议使用 Node.js 18.x 或更高版本。VitePress 侧边栏是用 编写的。要在 中使用它,请参阅此处的说明ESM``CommonJS

您需要使用 NPM 或任何其他 Node 模块包管理器来安装模块。应安装该包,因为它仅在开发人员环境中使用。使用以下命令:devDependencies

# via npm
$ npm i -D vitepress-sidebar

# via yarn
$ yarn add -D vitepress-sidebar

# via pnpm
$ pnpm i -D vitepress-sidebar

如何使用

您可以使用 VitePress Sidebar 的方法自动生成侧边栏。generateSidebar

它根据给定的根路径 () 扫描文件夹,在 VitePress 构建它们之前找到 markdown 文件,并返回一个基于文件夹树结构生成的菜单。documentRootPath

首先,通过以下两种方式之一导入。vitepress-sidebar

1.使用 named-import

import { generateSidebar } from 'vitepress-sidebar';

const vitepressSidebarOptions = {
/* Options... */
};

export default {
themeConfig: {
sidebar: generateSidebar(vitepressSidebarOptions)
}
};

2.使用 default-import

import VitePressSidebar from 'vitepress-sidebar';

const vitepressSidebarOptions = {
/* Options... */
};

export default {
themeConfig: {
sidebar: VitePressSidebar.generateSidebar(vitepressSidebarOptions)
}
};

在文件的属性中使用该方法,该文件是 VitePress 的配置文件。VitePress 的配置文件可能具有不同的文件名或扩展名,具体取决于您的项目设置。generateSidebar``themeConfig.sidebar``.vitepress/config.js

要测试其输出方式,请尝试使用设置为 的选项来构建 VitePress。您应该在控制台中看到输出。debugPrint``true

有关 配置的更多信息,请参阅下面的 API 部分。generateSidebar

代码示例

JavaScript的

import { generateSidebar } from 'vitepress-sidebar';

export default {
themeConfig: {
sidebar: generateSidebar({
/*
* For detailed instructions, see the links below:
* https://vitepress-sidebar.jooy2.com/guide/api
*/
// documentRootPath: '/',
// scanStartPath: null,
// resolvePath: null,
// useTitleFromFileHeading: true,
// useTitleFromFrontmatter: true,
// frontmatterTitleFieldName: 'title',
// useFolderTitleFromIndexFile: false,
// useFolderLinkFromIndexFile: false,
// hyphenToSpace: true,
// underscoreToSpace: true,
// capitalizeFirst: false,
// capitalizeEachWords: false,
// collapsed: true,
// collapseDepth: 2,
// sortMenusByName: false,
// sortMenusByFrontmatterOrder: false,
// sortMenusByFrontmatterDate: false,
// sortMenusOrderByDescending: false,
// sortMenusOrderNumericallyFromTitle: false,
// sortMenusOrderNumericallyFromLink: false,
// frontmatterOrderDefaultValue: 0,
// manualSortFileNameByPriority: ['first.md', 'second', 'third.md'],
// removePrefixAfterOrdering: false,
// prefixSeparator: '.',
// excludeFiles: ['first.md', 'secret.md'],
// excludeFilesByFrontmatterFieldName: 'exclude',
// excludeFolders: ['secret-folder'],
// includeDotFiles: false,
// includeRootIndexFile: false,
// includeFolderIndexFile: false,
// includeEmptyFolder: false,
// rootGroupText: 'Contents',
// rootGroupLink: 'https://github.com/jooy2',
// rootGroupCollapsed: false,
// convertSameNameSubFileToGroupIndexPage: false,
// folderLinkNotIncludesFileName: false,
// keepMarkdownSyntaxFromTitle: false,
// debugPrint: false,
})
}
};

应用程序接口

本页描述了 VitePress 侧边栏中的所有选项。

documentRootPath

  • 类型:string
  • 违约:'/'

文档文件所在的顶级路径。缺省值为 。/

这是目录所在的路径,如果文档在项目根目录中所在的文件夹是 ,则此选项的值应设置为 或 。.vitepress``/docs``docs``/docs

发短信

/
├─ package.json
├─ src/
├─ docs/ <--------------- `documentRootPath` ('/docs')
│ ├─ .vitepress/ <------ VitePress config directory
│ ├─ another-directory/
│ ├─ hello.md
│ └─ index.md
└─ ...

useTitleFromFileHeading

  • 类型:boolean
  • 违约:false

如果值为 ,则显示带有文件标题内容的标题。如果文件中不存在标题,则会显示 。true``h1``.md``h1``Unknown

默认菜单项按文件夹树顺序排序,因此请将选项设置为“如果要按更改的菜单名称重新排序”。sortMenusByName``true

useTitleFromFrontmatter

  • 类型:boolean
  • 违约:false

如果值为 ,则根据文件中 in 的值显示标题。如果无法解析此值,则如果选项为 ,则将从标记中获取该值,如果该选项失败,则从文件名中获取该值。true``title``Frontmatter``h1``useTitleFromFileHeading``true

应位于文档的顶部,并应如下所示(值和标题之间需要空格。Frontmatter``title:

frontmatterTitleFieldName

  • 类型:string
  • 违约:title

根据此选项的值在文件中显示标题。如果 中不存在指定的值,则将使用默认值作为回退。Frontmatter``Frontmatter``title

降价

---
title: This is frontmatter title value.
---

有关详细信息,请参阅以下文章: https://vitepress.dev/guide/frontmatter

默认菜单项按文件夹树顺序排序,因此请将选项设置为“如果要按更改的菜单名称重新排序”。sortMenusByName``true