默认主题配置
主题配置允许您自定义主题。您可以在配置文件中通过 themeConfig
选项定义主题配置
export default {
lang: 'en-US',
title: 'VitePress',
description: 'Vite & Vue powered static site generator.',
// Theme related configurations.
themeConfig: {
logo: '/logo.svg',
nav: [...],
sidebar: { ... }
}
}
**此页面上记录的选项仅适用于默认主题。** 不同的主题期望不同的主题配置。当使用自定义主题时,主题配置对象将传递给主题,以便主题可以根据它定义条件行为。
i18nRouting
- 类型:
boolean
将语言环境更改为 zh
将更改 URL 从 /foo
(或 /en/foo/
)更改为 /zh/foo
。您可以通过将 themeConfig.i18nRouting
设置为 false
来禁用此行为。
logo
- 类型:
ThemeableImage
在导航栏中显示的徽标文件,位于网站标题之前。接受路径字符串,或对象以设置不同模式的徽标。
export default {
themeConfig: {
logo: '/logo.svg'
}
}
type ThemeableImage =
| string
| { src: string; alt?: string }
| { light: string; dark: string; alt?: string }
siteTitle
- 类型:
string | false
您可以自定义此项以替换导航栏中的默认网站标题(应用程序配置中的 title
)。当设置为 false
时,导航栏中的标题将被禁用。当您的 logo
已经包含网站标题文本时,这很有用。
export default {
themeConfig: {
siteTitle: 'Hello World'
}
}
nav
- 类型:
NavItem
导航菜单项的配置。更多详细信息请参见 默认主题:导航。
export default {
themeConfig: {
nav: [
{ text: 'Guide', link: '/guide' },
{
text: 'Dropdown Menu',
items: [
{ text: 'Item A', link: '/item-1' },
{ text: 'Item B', link: '/item-2' },
{ text: 'Item C', link: '/item-3' }
]
}
]
}
}
type NavItem = NavItemWithLink | NavItemWithChildren
interface NavItemWithLink {
text: string
link: string
activeMatch?: string
target?: string
rel?: string
noIcon?: boolean
}
interface NavItemChildren {
text?: string
items: NavItemWithLink[]
}
interface NavItemWithChildren {
text?: string
items: (NavItemChildren | NavItemWithLink)[]
activeMatch?: string
}
sidebar
- 类型:
Sidebar
侧边栏菜单项的配置。更多详细信息请参见 默认主题:侧边栏。
export default {
themeConfig: {
sidebar: [
{
text: 'Guide',
items: [
{ text: 'Introduction', link: '/introduction' },
{ text: 'Getting Started', link: '/getting-started' },
...
]
}
]
}
}
export type Sidebar = SidebarItem[] | SidebarMulti
export interface SidebarMulti {
[path: string]: SidebarItem[] | { items: SidebarItem[]; base: string }
}
export type SidebarItem = {
/**
* The text label of the item.
*/
text?: string
/**
* The link of the item.
*/
link?: string
/**
* The children of the item.
*/
items?: SidebarItem[]
/**
* If not specified, group is not collapsible.
*
* If `true`, group is collapsible and collapsed by default
*
* If `false`, group is collapsible but expanded by default
*/
collapsed?: boolean
/**
* Base path for the children items.
*/
base?: string
/**
* Customize text that appears on the footer of previous/next page.
*/
docFooterText?: string
rel?: string
target?: string
}
aside
- 类型:
boolean | 'left'
- 默认值:
true
- 可以通过 前置信息 逐页覆盖。
将此值设置为 false
将阻止渲染侧边栏容器。
将此值设置为 true
将在右侧渲染侧边栏。
将此值设置为 left
将在左侧渲染侧边栏。
如果您想为所有视口禁用它,您应该使用 outline: false
代替。
outline
- 类型:
Outline | Outline['level'] | false
- 可以通过 前置信息 逐页覆盖级别。
将此值设置为 false
将阻止渲染大纲容器。有关更多详细信息,请参考此接口。
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'` is same as `[2, 6]`, which means all headings from `<h2>` to `<h6>` will be displayed.
*
* @default 2
*/
level?: number | [number, number] | 'deep'
/**
* The title to be displayed on the outline.
*
* @default 'On this page'
*/
label?: string
}
socialLinks
- 类型:
SocialLink[]
您可以定义此选项以在导航栏中显示您的社交帐户链接,并带有图标。
export default {
themeConfig: {
socialLinks: [
{ icon: 'github', link: 'https://github.com/vuejs/vitepress' },
{ icon: 'twitter', link: '...' },
// You can also add custom icons by passing SVG as string:
{
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>'
},
link: '...',
// You can include a custom label for accessibility too (optional but recommended):
ariaLabel: 'cool link'
}
]
}
}
interface SocialLink {
icon: SocialLinkIcon
link: string
ariaLabel?: string
}
type SocialLinkIcon =
| 'discord'
| 'facebook'
| 'github'
| 'instagram'
| 'linkedin'
| 'mastodon'
| 'npm'
| 'slack'
| 'twitter'
| 'x'
| 'youtube'
| { svg: string }
footer
- 类型:
Footer
- 可以通过 前置信息 逐页覆盖。
页脚配置。您可以在页脚中添加消息或版权文本,但是,它仅在页面不包含侧边栏时显示。这是由于设计问题。
export default {
themeConfig: {
footer: {
message: 'Released under the MIT License.',
copyright: 'Copyright © 2019-present Evan You'
}
}
}
export interface Footer {
message?: string
copyright?: string
}
editLink
- 类型:
EditLink
- 可以通过 前置信息 逐页覆盖。
编辑链接允许您显示一个链接,用于在 GitHub 或 GitLab 等 Git 管理服务上编辑页面。有关更多详细信息,请参见 默认主题:编辑链接。
export default {
themeConfig: {
editLink: {
pattern: 'https://github.com/vuejs/vitepress/edit/main/docs/:path',
text: 'Edit this page on GitHub'
}
}
}
export interface EditLink {
pattern: string
text?: string
}
lastUpdated
- 类型:
LastUpdatedOptions
允许自定义最后更新文本和日期格式。
export default {
themeConfig: {
lastUpdated: {
text: 'Updated at',
formatOptions: {
dateStyle: 'full',
timeStyle: 'medium'
}
}
}
}
export interface LastUpdatedOptions {
/**
* @default 'Last updated'
*/
text?: string
/**
* @default
* { dateStyle: 'short', timeStyle: 'short' }
*/
formatOptions?: Intl.DateTimeFormatOptions & { forceLocale?: boolean }
}
algolia
- 类型:
AlgoliaSearch
一个选项,用于使用 Algolia DocSearch 搜索您的文档网站。在 默认主题:搜索 中了解更多信息。
export interface AlgoliaSearchOptions extends DocSearchProps {
locales?: Record<string, Partial<DocSearchProps>>
}
查看完整选项 此处。
carbonAds
- 类型:
CarbonAdsOptions
一个选项,用于显示 Carbon 广告。
export default {
themeConfig: {
carbonAds: {
code: 'your-carbon-code',
placement: 'your-carbon-placement'
}
}
}
export interface CarbonAdsOptions {
code: string
placement: string
}
在 默认主题:Carbon 广告 中了解更多信息。
docFooter
- 类型:
DocFooter
可用于自定义出现在上一页和下一页链接上方的文本。如果文档不是用英语编写的,这很有用。也可以用来全局禁用上一页/下一页链接。如果您想选择性地启用/禁用上一页/下一页链接,可以使用 前置信息。
export default {
themeConfig: {
docFooter: {
prev: 'Pagina prior',
next: 'Proxima pagina'
}
}
}
export interface DocFooter {
prev?: string | false
next?: string | false
}
darkModeSwitchLabel
- 类型:
string
- 默认值:
外观
可用于自定义暗模式切换标签。此标签仅在移动视图中显示。
lightModeSwitchTitle
- 类型:
string
- 默认值:
切换到浅色主题
可用于自定义悬停时显示的浅色模式切换标题。
darkModeSwitchTitle
- 类型:
string
- 默认值:
切换到深色主题
可用于自定义悬停时显示的暗模式切换标题。
sidebarMenuLabel
- 类型:
string
- 默认值:
菜单
可用于自定义侧边栏菜单标签。此标签仅在移动视图中显示。
returnToTopLabel
- 类型:
string
- 默认值:
返回顶部
可用于自定义返回顶部按钮的标签。此标签仅在移动视图中显示。
langMenuLabel
- 类型:
string
- 默认值:
更改语言
可用于自定义导航栏中语言切换按钮的 aria-label。这仅在您使用 i18n 时使用。
externalLinkIcon
- 类型:
boolean
- 默认值:
false
是否在 markdown 中的外部链接旁边显示外部链接图标。