# 配置 VuePress 配置的参考文档,可以通过配置文件来设置这些配置。 VuePress 约定的配置文件为(按照优先顺序): - 当前工作目录 `cwd` 下: - `vuepress.config.ts` - `vuepress.config.js` - 源文件目录 `sourceDir` 下: - `.vuepress/config.ts` - `.vuepress/config.js` 你也可以通过 [命令行接口](./cli.md) 的 `--config` 选项来指定配置文件。 ## 站点配置 ### base - 类型: `string` - 默认值: `/` - 详情: 部署站点的基础路径。 如果你想让你的网站部署到一个子路径下,你将需要设置它。它的值应当总是以斜杠开始,并以斜杠结束。举例来说,如果你想将你的网站部署到 `https://foo.github.io/bar/`,那么 `base` 应该被设置成 `"/bar/"`。 `base` 将会作为前缀自动地插入到所有以 `/` 开始的其他选项的链接中,所以你只需要指定一次。 - 参考: - [指南 > 静态资源 > Base Helper](../guide/assets.md#base-helper) - [指南 > 部署](../guide/deployment.md) ### lang - 类型: `string` - 默认值: `en-US` - 详情: 站点的语言。 它将会在最终渲染出的 HTML 中作为 `` 标签的 `lang` 属性。 它可以设置在不同语言的 locales 中。 - 参考: - [配置 > locales](#locales) ### title - 类型: `string` - 默认值: `''` - 详情: 站点的标题。 它将会作为所有页面标题的后缀,并且在默认主题的导航栏中显示。 它可以设置在不同语言的 locales 中。 - 参考: - [配置 > locales](#locales) ### description - 类型: `string` - 默认值: `''` - 详情: 站点的描述。 它将会在最终渲染出的 HTML 中作为 `` 标签的 `content` 属性。它会被每个页面的 Frontmatter 中的 `description` 字段覆盖。 它可以设置在不同语言的 locales 中。 - 参考: - [配置 > locales](#locales) - [Frontmatter > description](./frontmatter.md#description) ### head - 类型: `HeadConfig[]` - 默认值: `[]` - 详情: 在最终渲染出的 HTML 的 `
` 标签内加入的额外标签。 你可以通过 `[tagName, { attrName: attrValue }, innerHTML?]` 的格式来添加标签。 它可以设置在不同语言的 locales 中。 - 示例: 增加一个自定义的 favicon : ```js module.exports = { head: [ ['link', { rel: 'icon', href: '/logo.png' }] ] } ``` 渲染为: ```html ``` - 参考: - [配置 > locales](#locales) - [Frontmatter > head](./frontmatter.md#head) ### locales - 类型: `{ [path: string]: Partial` 标签外额外包裹一层。 `highlightLines` 和 `lineNumbers` 依赖于这个额外的包裹层。这换句话说,如果你禁用了 `preWrapper` ,那么行高亮和行号也会被同时禁用。 如果你想要在客户端来实现这些功能时,可以禁用该配置项。比如使用 [Prismjs Line Highlight](https://prismjs.com/plugins/line-highlight/) 或者 [Prismjs Line Numbers](https://prismjs.com/plugins/line-numbers/)。 ##### markdown.code.vPre - 类型: `boolean` - 默认值: `true` - 详情: 是否在 `` 标签上添加 `v-pre` 指令。 - 参考: - [指南 > Markdown > 语法扩展 > 代码块 > 添加 v-pre](../guide/markdown.md#添加-v-pre) #### markdown.customComponent - 类型: `undefined | false` - 详情: VuePress 内置的 markdown-it custom-component 插件的配置项。 设置为 `false` 可以禁用该插件。 ::: danger 除非你了解它的用途,否则你不应该设置该配置项。 ::: #### markdown.emoji - 类型: `EmojiPluginOptions | false` - 详情: [markdown-it-emoji](https://github.com/markdown-it/markdown-it-emoji) 的配置项。 设置为 `false` 可以禁用该插件。 - 参考: - [指南 > Markdown > 语法扩展 > Emoji](../guide/markdown.md#emoji) #### markdown.extractHeaders - 类型: `ExtractHeadersPluginOptions | false` - 详情: VuePress 内置的 markdown-it extract-headers 插件的配置项。 它将会把页面的标题提取到 Page Data 中,可以用于生成侧边栏、目录等。比如当前页面的侧边栏,就是由这个插件提取出的标题来自动生成的。 设置为 `false` 可以禁用该插件。 #### markdown.hoistTags - 类型: `HoistTagsPluginOptions | false` - 详情: VuePress 内置的 markdown-it hoist-tags 插件的配置项。 它将会把你的 Markdown 中特定的 HTML 标签提升到 SFC 的顶层。默认情况下,只有 `