English
Quick Start
What is vitepress-tuck?
vitepress-tuck provides simple, flexible, and low-barrier plugin development and integration capabilities for VitePress. It wraps VitePress's defineConfig to provide an additional plugins option, shifting the complexity of plugin integration into the plugins themselves, so users only need to add plugins to the plugins array.
Installation
sh
pnpm add vitepress vitepress-tucksh
npm install vitepress vitepress-tucksh
bun add vitepress vitepress-tucksh
deno add vitepress vitepress-tucksh
yarn add vitepress vitepress-tuckUsing in a VitePress Site
Replace the Configuration File
Replace
defineConfigin.vitepress/config.tswithvitepress-tuck'sdefineConfig:tsimport { defineConfig } from 'vitepress' import { defineConfig } from 'vitepress-tuck' export default defineConfig({ plugins: [ // Add plugins here ], // Other VitePress config options ... })Configure the Client Entry
Import
virtual:enhance-appin.vitepress/theme/index.ts:tsimport type { Theme } from 'vitepress' import enhanceApp from 'virtual:enhance-app' import DefaultTheme from 'vitepress/theme' export default { extends: DefaultTheme, enhanceApp(ctx) { enhanceApp(ctx) }, } satisfies Themevirtual:enhance-appis a virtual module.vitepress-tuckautomatically injects plugin client code into it — no manual configuration required.TypeScript Support
If your project uses TypeScript, add the type reference in
tsconfig.json:json{ "compilerOptions": { "types": ["vitepress-tuck/client-types"] } }
Using Plugins
Using plugins is simple — just import and invoke them in the plugins array:
ts
import { defineConfig } from 'vitepress-tuck'
import steps from 'vitepress-plugin-steps'
import mermaid from 'vitepress-plugin-mermaid-tuck'
export default defineConfig({
plugins: [
steps(),
mermaid({
// Plugin options can be passed here
}),
],
})Refer to each plugin's documentation for its configuration options.