adjust style

pull/2249/head
Xavi Lee 2 years ago
parent 64efde2271
commit f0b89e5262

@ -1,4 +1,4 @@
# Frontmatter {#frontmatter} # frontmatter {#frontmatter}
## 用法 {#usage} ## 用法 {#usage}
@ -11,13 +11,13 @@ editLink: true
--- ---
``` ```
许多站点或默认主题配置选项在 frontmatter 中都有相应的选项。你可以使用 frontmatter 来覆盖当前页面的特定行为。详细信息请参见 [Frontmatter Config Reference](../reference/frontmatter-config)。 许多站点或默认主题配置选项在 frontmatter 中都有相应的选项。你可以使用 frontmatter 来覆盖当前页面的特定行为。详细信息请参见 [frontmatter Config Reference](../reference/frontmatter-config)。
你还可以定义自己的 frontmatter 数据,以在页面上的动态 Vue 表达式中使用。 你还可以定义自己的 frontmatter 数据,以在页面上的动态 Vue 表达式中使用。
## 访问 Frontmatter 数据 {#accessing-frontmatter-data} ## 访问 frontmatter 数据 {#accessing-frontmatter-data}
Frontmatter 数据可以通过特殊的 `$frontmatter` 全局变量来访问: frontmatter 数据可以通过特殊的 `$frontmatter` 全局变量来访问:
下面的例子展示了你应该如何在 Markdown 文件中使用它: 下面的例子展示了你应该如何在 Markdown 文件中使用它:
@ -34,7 +34,7 @@ Guide content
你还可以使用 [`useData()`](../reference/runtime-api#usedata) 辅助函数在 `<script setup>` 中访问当前页面的 frontmatter。 你还可以使用 [`useData()`](../reference/runtime-api#usedata) 辅助函数在 `<script setup>` 中访问当前页面的 frontmatter。
## 其他 Frontmatter 格式 {#alternative-frontmatter-formats} ## 其他 frontmatter 格式 {#alternative-frontmatter-formats}
VitePress 也支持 JSON 格式的 frontmatter以花括号开始和结束 VitePress 也支持 JSON 格式的 frontmatter以花括号开始和结束

@ -61,7 +61,7 @@ VitePress 带有内置的 Markdown 拓展。
- [vuejs.org](https://vuejs.org) - [vuejs.org](https://vuejs.org)
- [VitePress on GitHub](https://github.com/vuejs/vitepress) - [VitePress on GitHub](https://github.com/vuejs/vitepress)
## Frontmatter {#frontmatter} ## frontmatter {#frontmatter}
[YAML 格式的 frontmatter](https://jekyllrb.com/docs/front-matter/) 开箱即用: [YAML 格式的 frontmatter](https://jekyllrb.com/docs/front-matter/) 开箱即用:
@ -74,7 +74,7 @@ lang: en-US
此数据将可用于页面的其余部分,以及所有自定义和主题组件。 此数据将可用于页面的其余部分,以及所有自定义和主题组件。
更多信息,参见 [Frontmatter](../reference/frontmatter-config)。 更多信息,参见 [frontmatter](../reference/frontmatter-config)。
## GitHub 风格的表格 {#github-style-tables} ## GitHub 风格的表格 {#github-style-tables}
@ -851,6 +851,20 @@ $$ x = {-b \pm \sqrt{b^2-4ac} \over 2a} $$
| $\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} = \vec{\mathbf{0}}$ | curl of $\vec{\mathbf{E}}$ is proportional to the rate of change of $\vec{\mathbf{B}}$ | | $\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} = \vec{\mathbf{0}}$ | curl of $\vec{\mathbf{E}}$ is proportional to the rate of change of $\vec{\mathbf{B}}$ |
| $\nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} = \frac{4\pi}{c}\vec{\mathbf{j}} \nabla \cdot \vec{\mathbf{E}} = 4 \pi \rho$ | _wha?_ | | $\nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} = \frac{4\pi}{c}\vec{\mathbf{j}} \nabla \cdot \vec{\mathbf{E}} = 4 \pi \rho$ | _wha?_ |
## 图片懒加载 {#image-lazy-loading}
You can enable lazy loading for each image added via markdown by setting `lazyLoading` to `true` in your config file:
```js
export default {
markdown: {
image: {
// image lazy loading is disabled by default
lazyLoading: true
}
}
}
```
## 高级配置 {#advanced-configuration} ## 高级配置 {#advanced-configuration}
VitePress 使用 [markdown-it](https://github.com/markdown-it/markdown-it) 作为 Markdown 渲染器。上面提到的很多拓展功能都是通过自定义插件实现的。你可以使用 `.vitepress/config.js` 中的 `markdown` 选项来进一步自定义 `markdown-it` 实例。 VitePress 使用 [markdown-it](https://github.com/markdown-it/markdown-it) 作为 Markdown 渲染器。上面提到的很多拓展功能都是通过自定义插件实现的。你可以使用 `.vitepress/config.js` 中的 `markdown` 选项来进一步自定义 `markdown-it` 实例。

@ -17,7 +17,7 @@
- `lastUpdated` 选项现在分为` config.lastUpdated` 和 `themeConfig.lastUpdatedText` - `lastUpdated` 选项现在分为` config.lastUpdated` 和 `themeConfig.lastUpdatedText`
- `carbonAds.carbon` 更改为 `carbonAds.code`. - `carbonAds.carbon` 更改为 `carbonAds.code`.
## Frontmatter 配置 {#frontmatter-config} ## frontmatter 配置 {#frontmatter-config}
- `home: true` 选项已更改为 `layout: home`。此外,还修改了许多与主页相关的设置以提供附加功能。详情请参阅 [主页指南](../reference/default-theme-home-page)。 - `home: true` 选项已更改为 `layout: home`。此外,还修改了许多与主页相关的设置以提供附加功能。详情请参阅 [主页指南](../reference/default-theme-home-page)。
- `footer` 选项移至 [`themeConfig.footer`](../reference/default-theme-footer). - `footer` 选项移至 [`themeConfig.footer`](../reference/default-theme-footer).

@ -28,7 +28,7 @@ VitePress 旨在使用 Markdown 生成内容时提供出色的开发体验。
- **[Vite 驱动](https://cn.vitejs.dev/)**:即时服务器启动,始终立即反映(<100ms)编辑变化,无需重新加载页面。 - **[Vite 驱动](https://cn.vitejs.dev/)**:即时服务器启动,始终立即反映(<100ms)编辑变化,无需重新加载页面。
- **[内置 Markdown 扩展](./markdown)**Frontmatter、表格、语法高亮……应有尽有。具体来说VitePress 提供了许多用于处理代码块的高级功能,使其真正成为技术文档的理想选择。 - **[内置 Markdown 扩展](./markdown)**frontmatter、表格、语法高亮……应有尽有。具体来说VitePress 提供了许多用于处理代码块的高级功能,使其真正成为技术文档的理想选择。
- **[Vue 增强的 Markdown](./using-vue)**:每个 Markdown 页面都是 Vue [单文件组件](https://cn.vuejs.org/guide/scaling-up/sfc.html),这要归功于 Vue 模板与 HTML 的 100% 语法兼容性。可以使用 Vue 模板语法或导入的 Vue 组件在静态内容中嵌入交互性。 - **[Vue 增强的 Markdown](./using-vue)**:每个 Markdown 页面都是 Vue [单文件组件](https://cn.vuejs.org/guide/scaling-up/sfc.html),这要归功于 Vue 模板与 HTML 的 100% 语法兼容性。可以使用 Vue 模板语法或导入的 Vue 组件在静态内容中嵌入交互性。

@ -19,17 +19,15 @@ export default {
**此页面上记录的选项仅适用于默认主题**。不同的主题需要不同的主题配置。使用自定义主题时,主题配置对象将传递给主题,以便主题可以基于它作出不同表现。 **此页面上记录的选项仅适用于默认主题**。不同的主题需要不同的主题配置。使用自定义主题时,主题配置对象将传递给主题,以便主题可以基于它作出不同表现。
## i18nRouting {#i18n-routing} ## i18nRouting
- key: `i18nRouting` - 类型:`boolean`
- Type: `boolean`
将本地语言更改为 `zh` 会将 URL 从 `/foo`(或 `/en/foo/`)更改为 `/zh/foo`。你可以通过将 `themeConfig.i18nRouting` 设置为 `false` 来禁用此行为。 将本地语言更改为 `zh` 会将 URL 从 `/foo`(或 `/en/foo/`)更改为 `/zh/foo`。你可以通过将 `themeConfig.i18nRouting` 设置为 `false` 来禁用此行为。
## 图标 {#logo} ## logo
- key: `logo` - 类型:`ThemeableImage`
- Type: `ThemeableImage`
导航栏上显示的 Logo位于网站标题右侧。可以接受一个路径字符串或者一个对象来设置在浅色/深色模式下不同的 Logo。 导航栏上显示的 Logo位于网站标题右侧。可以接受一个路径字符串或者一个对象来设置在浅色/深色模式下不同的 Logo。
@ -48,10 +46,9 @@ type ThemeableImage =
| { light: string; dark: string; alt?: string } | { light: string; dark: string; alt?: string }
``` ```
## 站点标题开关 {#site-title} ## siteTitle
- key: `siteTitle` - 类型:`string | false`
- Type: `string | false`
你可以自定义此项以替换导航中的默认站点标题(应用配置中的 `title`)。当设置为 `false` 时,导航中的标题将被禁用。这在当你的 `logo` 已经包含网站标题文本时很有用。 你可以自定义此项以替换导航中的默认站点标题(应用配置中的 `title`)。当设置为 `false` 时,导航中的标题将被禁用。这在当你的 `logo` 已经包含网站标题文本时很有用。
@ -63,10 +60,9 @@ export default {
} }
``` ```
## 导航栏 {#nav} ## nav
- key: `nav` - 类型:`NavItem`
- Type: `NavItem`
导航菜单项的配置。你可以在[默认主题: 导航栏](./default-theme-nav#navigation-links) 了解更多详情。 导航菜单项的配置。你可以在[默认主题: 导航栏](./default-theme-nav#navigation-links) 了解更多详情。
@ -111,10 +107,9 @@ interface NavItemWithChildren {
} }
``` ```
## 侧边栏 {#sidebar} ## sidebar
- key: `sidebar` - 类型:`Sidebar`
- Type: `Sidebar`
侧边栏菜单项的配置。你可以在[默认主题: 侧边栏](./default-theme-sidebar) 了解更多详情。 侧边栏菜单项的配置。你可以在[默认主题: 侧边栏](./default-theme-sidebar) 了解更多详情。
@ -169,11 +164,10 @@ export type SidebarItem = {
} }
``` ```
## 大纲开关 {#aside} ## aside
- key: `aside` - 类型:`boolean | 'left'`
- Type: `boolean | 'left'` - 默认值:`true`
- Default: `true`
- 每个页面可以通过 [frontmatter](./frontmatter-config#aside) 覆写 - 每个页面可以通过 [frontmatter](./frontmatter-config#aside) 覆写
将此值设置为 `false` 可禁用 aside(大纲) 容器。\ 将此值设置为 `false` 可禁用 aside(大纲) 容器。\
@ -182,10 +176,9 @@ export type SidebarItem = {
如果你想对所有页面禁用它,你应该使用 `outline: false` 如果你想对所有页面禁用它,你应该使用 `outline: false`
## 大纲层级 {#outline} ## outline
- key: `outline` - 类型:`Outline | Outline['level'] | false`
- Type: `Outline | Outline['level'] | false`
- 每个页面可以通过 [frontmatter](./frontmatter-config#outline) 覆写层级 - 每个页面可以通过 [frontmatter](./frontmatter-config#outline) 覆写层级
将此值设置为 `false` 可禁止渲染大纲容器。更多详情请参考该接口: 将此值设置为 `false` 可禁止渲染大纲容器。更多详情请参考该接口:
@ -193,10 +186,10 @@ export type SidebarItem = {
```ts ```ts
interface Outline { interface Outline {
/** /**
* 大纲中显示的标题级别。 * The levels of headings to be displayed in the outline.
* 单个数字表示仅显示该级别的标题。 * Single number means only headings of that level will be displayed.
* 如果传递一个元组,则第一个数字是最小级别,第二个数字是最大级别。 * If a tuple is passed, the first number is the minimum level and the second number is the maximum level.
* `'deep'` 和`[2, 6]` 等效, 这意味着 `<h2>``<h6>` 都会展示。 * `'deep'` is same as `[2, 6]`, which means all headings from `<h2>` to `<h6>` will be displayed.
* *
* @default 2 * @default 2
*/ */
@ -211,9 +204,9 @@ interface Outline {
} }
``` ```
## 社交链接 {#sociallinks} ## socialLinks
- Type: `SocialLink[]` - 类型:`SocialLink[]`
你可以定义此选项以在导航栏中展示带有图标的社交帐户链接。 你可以定义此选项以在导航栏中展示带有图标的社交帐户链接。
@ -223,13 +216,13 @@ export default {
socialLinks: [ socialLinks: [
{ icon: 'github', link: 'https://github.com/vuejs/vitepress' }, { icon: 'github', link: 'https://github.com/vuejs/vitepress' },
{ icon: 'twitter', link: '...' }, { icon: 'twitter', link: '...' },
// 你还可以通过将 SVG 作为字符串传递来添加自定义图标: // You can also add custom icons by passing SVG as string:
{ {
icon: { icon: {
svg: '<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Dribbble</title><path d="M12...6.38z"/></svg>' svg: '<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Dribbble</title><path d="M12...6.38z"/></svg>'
}, },
link: '...', link: '...',
// 你也可以自定义标签别名以实现无障碍访问(可选但推荐): // You can include a custom label for accessibility too (optional but recommended):
ariaLabel: 'cool link' ariaLabel: 'cool link'
} }
] ]
@ -257,10 +250,10 @@ type SocialLinkIcon =
| { svg: string } | { svg: string }
``` ```
## 页脚 {#footer} ## footer
- Key: `footer` - 类型:`Footer`
- Type: `Footer` - 可以通过 [frontmatter](./frontmatter-config#footer) 进行覆盖。
页脚配置。你可以添加 message 和 copyright。由于设计原因仅当页面不包含侧边栏时才会显示页脚。 页脚配置。你可以添加 message 和 copyright。由于设计原因仅当页面不包含侧边栏时才会显示页脚。
@ -282,9 +275,9 @@ export interface Footer {
} }
``` ```
## 编辑链接 {#edit-link} ## editLink
- Type: `EditLink` - 类型:`EditLink`
- 每个页面可以通过 [frontmatter](./frontmatter-config#editlink) 覆写 - 每个页面可以通过 [frontmatter](./frontmatter-config#editlink) 覆写
编辑链接可让你显示链接以编辑 Git 管理服务(例如 GitHub 或 GitLab上的页面。有关详细信息请参阅 [默认主题:编辑链接](./default-theme-edit-link)。 编辑链接可让你显示链接以编辑 Git 管理服务(例如 GitHub 或 GitLab上的页面。有关详细信息请参阅 [默认主题:编辑链接](./default-theme-edit-link)。
@ -307,10 +300,9 @@ export interface EditLink {
} }
``` ```
## 最近更新时间 {#last-updated} ## lastUpdated
- key: `lastUpdated` - 类型:`LastUpdatedOptions`
- Type: `LastUpdatedOptions`
允许自定义上次更新的文本和日期格式。 允许自定义上次更新的文本和日期格式。
@ -345,7 +337,7 @@ export interface LastUpdatedOptions {
## algolia ## algolia
- Type: `AlgoliaSearch` - 类型:`AlgoliaSearch`
支持使用 [Algolia DocSearch](https://docsearch.algolia.com/docs/what-is-docsearch) 搜索站点文档。在 [默认主题:搜索](./default-theme-search) 中了解更多信息。 支持使用 [Algolia DocSearch](https://docsearch.algolia.com/docs/what-is-docsearch) 搜索站点文档。在 [默认主题:搜索](./default-theme-search) 中了解更多信息。
@ -359,7 +351,7 @@ export interface AlgoliaSearchOptions extends DocSearchProps {
## carbonAds {#carbon-ads} ## carbonAds {#carbon-ads}
- Type: `CarbonAdsOptions` - 类型:`CarbonAdsOptions`
一个配置即可展示 [Carbon Ads](https://www.carbonads.net/)。 一个配置即可展示 [Carbon Ads](https://www.carbonads.net/)。
@ -383,10 +375,9 @@ export interface CarbonAdsOptions {
Learn more in [Default Theme: Carbon Ads](./default-theme-carbon-ads) Learn more in [Default Theme: Carbon Ads](./default-theme-carbon-ads)
## 文档页脚 {#doc-footer} ## docFooter
- Key: `docFooter` - 类型:`DocFooter`
- Type: `DocFooter`
可用于自定义出现在上一页和下一页链接上方的文本。如果不是用英语编写文档,这很有帮助。也可用于全局禁用上一页/下一页链接。如果你想有选择地启用/禁用上一个/下一个链接,可以使用 [frontmatter](./default-theme-prev-next-links)。 可用于自定义出现在上一页和下一页链接上方的文本。如果不是用英语编写文档,这很有帮助。也可用于全局禁用上一页/下一页链接。如果你想有选择地启用/禁用上一个/下一个链接,可以使用 [frontmatter](./default-theme-prev-next-links)。
@ -408,42 +399,51 @@ export interface DocFooter {
} }
``` ```
## 暗模式开关标签 {#dark-mode-switch-label} ## darkModeSwitchLabel
- key: `darkModeSwitchLabel` - 类型:`string`
- Type: `string` - 默认值:`Appearance`
- Default: `Appearance`
可用于自定义深色模式开关标签。此标签仅显示在移动视图中。 Can be used to customize the dark mode switch label. This label is only displayed in the mobile view.
## 侧边栏菜单标签 {#sidebar-menu-label} ## lightModeSwitchTitle
- key: `sidebarMenuLabel` - 类型:`string`
- Type: `string` - 默认值:`Switch to light theme`
- Default: `Menu`
可用于自定义侧边栏菜单标签。此标签仅显示在移动视图中。 Can be used to customize the light mode switch title that appears on hovering.
## 返回顶部标签 {#return-totop-label} ## darkModeSwitchTitle
- key: `returnToTopLabel` - 类型:`string`
- Type: `string` - 默认值:`Switch to dark theme`
- Default: `Return to top`
可用于自定义返回顶部按钮的标签。此标签仅显示在移动视图中。 Can be used to customize the dark mode switch title that appears on hovering.
## 多语言菜单标签 {#lang-menu-label} ## sidebarMenuLabel
- key: `langMenuLabel` - 类型:`string`
- Type: `string` - 默认值:`Menu`
- Default: `Change language`
可用于自定义导航栏中语言切换按钮的 aria-label。这仅在你使用 [i18n](../guide/i18n) 时使用。 Can be used to customize the sidebar menu label. This label is only displayed in the mobile view.
## 外部链接图标 {#external-link-icon} ## returnToTopLabel
- key: `externalLinkIcon` - 类型:`string`
- Type: `boolean` - 默认值:`Return to top`
- Default: `false`
是否在 Markdown 中的外部链接旁显示外部链接图标。 Can be used to customize the label of the return to top button. This label is only displayed in the mobile view.
## langMenuLabel
- 类型:`string`
- 默认值:`Change language`
Can be used to customize the aria-label of the language toggle button in navbar. This is only used if you're using [i18n](../guide/i18n).
## externalLinkIcon
- 类型:`boolean`
- 默认值:`false`
Whether to show an external link icon next to external links in markdown.

@ -35,7 +35,6 @@ export default {
``` ```
::: details 它不应该有副作用,也不应该访问其范围之外的任何东西,因为它将在浏览器中被序列化和执行。 ::: details 它不应该有副作用,也不应该访问其范围之外的任何东西,因为它将在浏览器中被序列化和执行。
It should not have side-effects nor access anything outside of its scope since it will be serialized and executed in the browser.
::: :::
默认情况下,这将在文档页面底部添加链接文本"Edit this page"。你可以通过定义 `text` 选项来自定义此文本。 默认情况下,这将在文档页面底部添加链接文本"Edit this page"。你可以通过定义 `text` 选项来自定义此文本。
@ -51,7 +50,7 @@ export default {
} }
``` ```
## Frontmatter 配置 {#frontmatter-config} ## frontmatter 配置 {#frontmatter-config}
可以使用 frontmatter 上的 `editLink` 选项单独禁用某个页面的编辑链接: 可以使用 frontmatter 上的 `editLink` 选项单独禁用某个页面的编辑链接:

@ -42,7 +42,7 @@ export default {
请注意,当[侧边栏](./default-theme-sidebar)可见时,不会显示页脚。 请注意,当[侧边栏](./default-theme-sidebar)可见时,不会显示页脚。
## Frontmatter 配置 {#frontmatter-config} ## frontmatter 配置 {#frontmatter-config}
可以使用 frontmatter 上的 `footer` 选项在单独页面上禁用此功能: 可以使用 frontmatter 上的 `footer` 选项在单独页面上禁用此功能:

@ -13,7 +13,7 @@ export default {
} }
``` ```
## Frontmatter 配置 {#frontmatter-config} ## frontmatter 配置 {#frontmatter-config}
可以使用 frontmatter 上的 `lastUpdated` 选项单独禁用某个页面的最后更新展示: 可以使用 frontmatter 上的 `lastUpdated` 选项单独禁用某个页面的最后更新展示:

@ -2,9 +2,9 @@
outline: deep outline: deep
--- ---
# Frontmatter 配置 {#frontmatter-config} # frontmatter 配置 {#frontmatter-config}
Frontmatter 支持基于页面的配置。在每个 markdown 文件中,你可以使用 frontmatter 配置来覆写站点级别或主题级别的配置选项。此外,还有一些配置选项只能在 frontmatter 中定义。 frontmatter 支持基于页面的配置。在每个 markdown 文件中,你可以使用 frontmatter 配置来覆写站点级别或主题级别的配置选项。此外,还有一些配置选项只能在 frontmatter 中定义。
示例用法: 示例用法:
@ -21,10 +21,9 @@ editLink: true
{{ $frontmatter.title }} {{ $frontmatter.title }}
``` ```
## 标题 {#title} ## title
- key: `title` - 类型:`string`
- Type: `string`
页面的标题。它与 [config.title](./site-config#title) 相同,并且覆盖站点级配置。 页面的标题。它与 [config.title](./site-config#title) 相同,并且覆盖站点级配置。
@ -34,10 +33,9 @@ title: VitePress
--- ---
``` ```
## 标题模板 {#title-template} ## titleTemplate
- key: `titleTemplate` - 类型:`string | boolean`
- Type: `string | boolean`
标题的后缀。它与 [config.titleTemplate](./site-config#titletemplate) 相同,它会覆盖站点级别的配置。 标题的后缀。它与 [config.titleTemplate](./site-config#titletemplate) 相同,它会覆盖站点级别的配置。
@ -48,10 +46,9 @@ titleTemplate: Vite & Vue powered static site generator
--- ---
``` ```
## 描述 {#description} ## description
- key: `description` - 类型:`string`
- Type: `string`
页面的描述。它与 [config.description](./site-config#description) 相同,它会覆盖站点级别的配置。 页面的描述。它与 [config.description](./site-config#description) 相同,它会覆盖站点级别的配置。
@ -61,10 +58,9 @@ description: VitePress
--- ---
``` ```
## 头部标签 {#head} ## head
- key: `head` - 类型:`HeadConfig[]`
- Type: `HeadConfig[]`
指定要为当前页面注入的额外 head 标签。将附加在站点级配置注入的头部标签之后。 指定要为当前页面注入的额外 head 标签。将附加在站点级配置注入的头部标签之后。
@ -90,11 +86,10 @@ type HeadConfig =
以下 frontmatter 选项仅在使用默认主题时适用。 以下 frontmatter 选项仅在使用默认主题时适用。
### 布局 {#layout} ### layout
- key: `layout` - 类型:`doc | home | page`
- Type: `doc | home | page` - 默认值:`doc`
- Default: `doc`
指定页面的布局。 指定页面的布局。
@ -116,11 +111,10 @@ layout: doc
定义当`layout` 设置为 `home` 时要在 features 部分中显示的项目。更多详细信息:[默认主题:主页](./default-theme-home-page)。 定义当`layout` 设置为 `home` 时要在 features 部分中显示的项目。更多详细信息:[默认主题:主页](./default-theme-home-page)。
### 导航栏 {#navbar} ### navbar
- Key: `navbar` - 类型:`boolean`
- Type: `boolean` - 默认值:`true`
- Default: `true`
是否显示[导航栏](./default-theme-nav)。 是否显示[导航栏](./default-theme-nav)。
@ -130,11 +124,10 @@ navbar: false
--- ---
``` ```
### 侧边栏 {#sidebar} ### sidebar
- Key: `sidebar` - 类型:`boolean`
- Type: `boolean` - 默认值:`true`
- Default: `true`
是否显示 [侧边栏](./default-theme-sidebar). 是否显示 [侧边栏](./default-theme-sidebar).
@ -144,11 +137,10 @@ sidebar: false
--- ---
``` ```
### 大纲开关 {#aside} ### aside
- key: `aside` - 类型:`boolean | 'left'`
- Type: `boolean | 'left'` - 默认值:`true`
- Default: `true`
定义侧边栏组件在 `doc` 布局中的位置。 定义侧边栏组件在 `doc` 布局中的位置。
@ -162,19 +154,17 @@ aside: false
--- ---
``` ```
### 大纲层级 {#outline} ### outline
- key: `outline` - 类型:`number | [number, number] | 'deep' | false`
- Type: `number | [number, number] | 'deep' | false` - 默认值:`2`
- Default: `2`
大纲中显示的标题级别。它与 [config.themeConfig.outline.level](./default-theme-config#outline) 相同,它会覆盖站点级的配置。 大纲中显示的标题级别。它与 [config.themeConfig.outline.level](./default-theme-config#outline) 相同,它会覆盖站点级的配置。
### 最近更新时间 {#last-updated} ### lastUpdated
- key: `lastUpdated` - 类型:`boolean | Date`
- Type: `boolean | Date` - 默认值:`true`
- Default: `true`
是否在当前页面的页脚中显示[最近更新时间](./default-theme-last-updated)的文本。如果指定了日期时间,则会显示该日期时间而不是上次 git 修改的时间戳。 是否在当前页面的页脚中显示[最近更新时间](./default-theme-last-updated)的文本。如果指定了日期时间,则会显示该日期时间而不是上次 git 修改的时间戳。
@ -184,11 +174,10 @@ lastUpdated: false
--- ---
``` ```
### 编辑链接 {#edit-link} ### editLink
- key: `editLink` - 类型:`boolean`
- Type: `boolean` - 默认值:`true`
- Default: `true`
是否在当前页的页脚显示[编辑链接](./default-theme-edit-link)。 是否在当前页的页脚显示[编辑链接](./default-theme-edit-link)。
@ -198,11 +187,10 @@ editLink: false
--- ---
``` ```
### 页脚 {#footer} ### footer
- Key: `footer` - 类型:`boolean`
- Type: `boolean` - 默认值:`true`
- Default: `true`
是否显示 [页脚](./default-theme-footer). 是否显示 [页脚](./default-theme-footer).
@ -214,7 +202,7 @@ footer: false
### pageClass ### pageClass
- Type: `string` - 类型:`string`
将额外的类名称添加到特定页面。 将额外的类名称添加到特定页面。

@ -24,6 +24,62 @@ export default {
} }
``` ```
:::details 异步的动态配置
如果你需要动态生成配置,你也可以默认导出一个函数,例如:
```ts
import { defineConfig } from 'vitepress'
export default async () => defineConfig({
const posts = await (await fetch('https://my-cms.com/blog-posts')).json()
return {
// app level config options
lang: 'en-US',
title: 'VitePress',
description: 'Vite & Vue powered static site generator.',
// theme level config options
themeConfig: {
sidebar: [
...posts.map((post) => ({
text: post.name,
link: `/posts/${post.name}`
}))
]
}
}
})
```
你也可以在最外层使用 `await`。例如:
```ts
import { defineConfig } from 'vitepress'
const posts = await (await fetch('https://my-cms.com/blog-posts')).json()
export default defineConfig({
// app level config options
lang: 'en-US',
title: 'VitePress',
description: 'Vite & Vue powered static site generator.',
// theme level config options
themeConfig: {
sidebar: [
...posts.map((post) => ({
text: post.name,
link: `/posts/${post.name}`
}))
]
}
})
```
:::
### 配置智能提示 {#config-intellisense} ### 配置智能提示 {#config-intellisense}
使用 `defineConfig` 辅助函数将为配置选项提供 TypeScript 支持的智能提示。假设你的 IDE 支持它,那么智能提示在 JavaScript 和 TypeScript 中都将触发。 使用 `defineConfig` 辅助函数将为配置选项提供 TypeScript 支持的智能提示。假设你的 IDE 支持它,那么智能提示在 JavaScript 和 TypeScript 中都将触发。

Loading…
Cancel
Save