Using Vue in VitePress
VitePress is built on Vue 3, giving you access to Vue’s complete feature set including Composition API, reactivity system, and script setup syntax.Script Setup
Use<script setup> in markdown files and theme components:
Reactivity System
Refs and Reactive
Computed Properties
Watchers
/home/daytona/workspace/source/src/client/theme-default/composables/sidebar.ts:88
VitePress Composables
useData
Access site, page, and theme data:/home/daytona/workspace/source/src/client/app/data.ts:116
useRoute and useRouter
/home/daytona/workspace/source/src/client/app/router.ts:248
Router API
Reference:/home/daytona/workspace/source/src/client/app/router.ts:16
Custom Composables
Create reusable composables for VitePress:composables/useActiveAnchor.ts
/home/daytona/workspace/source/src/client/theme-default/composables/outline.ts:80
Lifecycle Hooks
OnMounted
OnUnmounted
/home/daytona/workspace/source/src/client/theme-default/composables/outline.ts:100
OnUpdated
Provide/Inject
Share data across components:Theme.vue
Component.vue
/home/daytona/workspace/source/src/client/app/data.ts:23
Slots
Use slots in custom components:Card.vue
Directives
Built-in Directives
Custom Directives
directives/focus.ts
Async Components
Theme Components Example
Example from VitePress default theme:sidebar.ts
/home/daytona/workspace/source/src/client/theme-default/composables/sidebar.ts:47
Performance Optimization
ShallowRef/ShallowReactive
Readonly
/home/daytona/workspace/source/src/client/app/data.ts:59
MarkRaw
/home/daytona/workspace/source/src/client/app/router.ts:111
TypeScript Support
Typed Composables
Component Props
MyComponent.vue