mirror of https://github.com/vuejs/vitepress
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
main
px-to-rem
enable-meta-chunk
refactor-release-script
report-raw-dead-links
feat/llms-txt
set-scrollbar-gutter
triage
router
tsdown
gh-pages
userquin/fix-skip-to-content
fix/4928
v2-theme
v1
link-headers-experiment
fix/2980
userquin/feat-use-best-lang-match-for-last-update
userquin/feat-add-external-translation-repo-links
userquin/feat-add-inert-content-again
userquin/feat-include-ids-and-anchor-check
userquin/feat-add-print-options
fix/2989
progressbar
v0.9.1
v0.10.0
v0.10.1
v0.10.2
v0.10.3
v0.10.4
v0.10.5
v0.10.6
v0.10.7
v0.10.8
v0.11.0
v0.11.1
v0.11.2
v0.11.3
v0.11.4
v0.11.5
v0.12.0
v0.12.1
v0.12.2
v0.13.0
v0.13.1
v0.13.2
v0.14.0
v0.14.1
v0.15.0
v0.15.1
v0.15.2
v0.15.3
v0.15.4
v0.15.5
v0.15.6
v0.16.0
v0.16.1
v0.17.0
v0.17.1
v0.17.2
v0.17.3
v0.18.0
v0.18.1
v0.19.0
v0.19.1
v0.19.2
v0.20.0
v0.20.1
v0.20.10
v0.20.2
v0.20.3
v0.20.4
v0.20.5
v0.20.6
v0.20.7
v0.20.8
v0.20.9
v0.21.0
v0.21.1
v0.21.2
v0.21.3
v0.21.4
v0.21.5
v0.21.6
v0.22.0
v0.22.1
v0.22.2
v0.22.3
v0.22.4
v0.4.1
v0.5.0
v0.6.0
v0.7.0
v0.7.1
v0.7.2
v0.7.3
v0.7.4
v0.8.0
v0.8.1
v0.9.0
v0.9.2
v1.0.0
v1.0.0-alpha.1
v1.0.0-alpha.10
v1.0.0-alpha.11
v1.0.0-alpha.12
v1.0.0-alpha.13
v1.0.0-alpha.14
v1.0.0-alpha.15
v1.0.0-alpha.16
v1.0.0-alpha.17
v1.0.0-alpha.18
v1.0.0-alpha.19
v1.0.0-alpha.2
v1.0.0-alpha.20
v1.0.0-alpha.21
v1.0.0-alpha.22
v1.0.0-alpha.23
v1.0.0-alpha.24
v1.0.0-alpha.25
v1.0.0-alpha.26
v1.0.0-alpha.27
v1.0.0-alpha.28
v1.0.0-alpha.29
v1.0.0-alpha.3
v1.0.0-alpha.30
v1.0.0-alpha.31
v1.0.0-alpha.32
v1.0.0-alpha.33
v1.0.0-alpha.34
v1.0.0-alpha.35
v1.0.0-alpha.36
v1.0.0-alpha.37
v1.0.0-alpha.38
v1.0.0-alpha.39
v1.0.0-alpha.4
v1.0.0-alpha.40
v1.0.0-alpha.41
v1.0.0-alpha.42
v1.0.0-alpha.43
v1.0.0-alpha.44
v1.0.0-alpha.45
v1.0.0-alpha.46
v1.0.0-alpha.47
v1.0.0-alpha.48
v1.0.0-alpha.49
v1.0.0-alpha.5
v1.0.0-alpha.50
v1.0.0-alpha.51
v1.0.0-alpha.52
v1.0.0-alpha.53
v1.0.0-alpha.54
v1.0.0-alpha.55
v1.0.0-alpha.56
v1.0.0-alpha.57
v1.0.0-alpha.58
v1.0.0-alpha.59
v1.0.0-alpha.6
v1.0.0-alpha.60
v1.0.0-alpha.61
v1.0.0-alpha.62
v1.0.0-alpha.63
v1.0.0-alpha.64
v1.0.0-alpha.65
v1.0.0-alpha.66
v1.0.0-alpha.67
v1.0.0-alpha.68
v1.0.0-alpha.69
v1.0.0-alpha.7
v1.0.0-alpha.70
v1.0.0-alpha.71
v1.0.0-alpha.72
v1.0.0-alpha.73
v1.0.0-alpha.74
v1.0.0-alpha.75
v1.0.0-alpha.76
v1.0.0-alpha.8
v1.0.0-alpha.9
v1.0.0-beta.1
v1.0.0-beta.2
v1.0.0-beta.3
v1.0.0-beta.4
v1.0.0-beta.5
v1.0.0-beta.6
v1.0.0-beta.7
v1.0.0-rc.1
v1.0.0-rc.10
v1.0.0-rc.11
v1.0.0-rc.12
v1.0.0-rc.13
v1.0.0-rc.14
v1.0.0-rc.15
v1.0.0-rc.16
v1.0.0-rc.17
v1.0.0-rc.18
v1.0.0-rc.19
v1.0.0-rc.2
v1.0.0-rc.20
v1.0.0-rc.21
v1.0.0-rc.22
v1.0.0-rc.23
v1.0.0-rc.24
v1.0.0-rc.25
v1.0.0-rc.26
v1.0.0-rc.27
v1.0.0-rc.28
v1.0.0-rc.29
v1.0.0-rc.3
v1.0.0-rc.30
v1.0.0-rc.31
v1.0.0-rc.32
v1.0.0-rc.33
v1.0.0-rc.34
v1.0.0-rc.35
v1.0.0-rc.36
v1.0.0-rc.37
v1.0.0-rc.38
v1.0.0-rc.39
v1.0.0-rc.4
v1.0.0-rc.40
v1.0.0-rc.41
v1.0.0-rc.42
v1.0.0-rc.43
v1.0.0-rc.44
v1.0.0-rc.45
v1.0.0-rc.5
v1.0.0-rc.6
v1.0.0-rc.7
v1.0.0-rc.8
v1.0.0-rc.9
v1.0.1
v1.0.2
v1.1.0
v1.1.1
v1.1.2
v1.1.3
v1.1.4
v1.2.0
v1.2.1
v1.2.2
v1.2.3
v1.3.0
v1.3.1
v1.3.2
v1.3.3
v1.3.4
v1.4.0
v1.4.1
v1.4.2
v1.4.3
v1.4.5
v1.5.0
v1.6.0
v1.6.1
v1.6.2
v1.6.3
v1.6.4
v2.0.0-alpha.1
v2.0.0-alpha.10
v2.0.0-alpha.11
v2.0.0-alpha.12
v2.0.0-alpha.13
v2.0.0-alpha.14
v2.0.0-alpha.15
v2.0.0-alpha.16
v2.0.0-alpha.17
v2.0.0-alpha.18
v2.0.0-alpha.2
v2.0.0-alpha.3
v2.0.0-alpha.4
v2.0.0-alpha.5
v2.0.0-alpha.6
v2.0.0-alpha.7
v2.0.0-alpha.8
v2.0.0-alpha.9
${ noResults }
1.2 KiB
1.2 KiB
Customization
You can develop your custom theme by adding the .vitepress/theme/index.js file.
.
├─ docs
│ ├─ .vitepress
│ │ ├─ theme
│ │ │ └─ index.js
│ │ └─ config.js
│ └─ index.md
└─ package.json
In .vitepress/theme/index.js, you must export theme object and register your own theme layout. Let's say you have your own Layout component like this.
<!-- .vitepress/theme/Layout.vue -->
<template>
<h1>Custom Layout!</h1>
<Content /><!-- make sure to include markdown outlet -->
</template>
Then include it in .vitepress/theme/index.js.
// .vitepress/theme/index.js
import Layout from './Layout.vue'
export default {
Layout,
NotFound: () => 'custom 404', // <- this is a Vue 3 functional component
enhanceApp({ app, router, siteData }) {
// app is the Vue 3 app instance from `createApp()`. router is VitePress'
// custom router. `siteData`` is a `ref`` of current site-level metadata.
}
}
If you want to extend the default theme, you can import it from vitepress/theme.
// .vitepress/theme/index.js
import DefaultTheme from 'vitepress/theme'
export default {
...DefaultTheme
}