
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
@vitepress-demo-preview/plugin
Advanced tools
We can see their component display and code example display from some excellent UI component libraries such as element-plus and Ant Design Vue
This project is based on vitepress and markdown-it implementation to display components and code examples in documents. Using this plug-in, Vue SFC components can be displayed in static documents
| Package | Version (click for changelogs) |
|---|---|
| @vitepress-demo-preview/component | |
| @vitepress-demo-preview/plugin | |
| @vitepress-demo-preview/core |
pnpm add @vitepress-demo-preview/component @vitepress-demo-preview/plugin
configure in your vitepress/theme entry file
import DefaultTheme from 'vitepress/theme';
import {
AntDesignContainer,
ElementPlusContainer,
NaiveUIContainer,
} from '@vitepress-demo-preview/component';
import '@vitepress-demo-preview/component/dist/style.css';
export default {
...DefaultTheme,
enhanceApp({ app }: { app: App }) {
app.component('demo-preview', AntDesignContainer);
},
};
configure markdown to add plugin
import { defineConfig } from 'vitepress';
import {
containerPreview,
componentPreview,
} from '@vitepress-demo-preview/plugin';
export default defineConfig({
markdown: {
config(md) {
md.use(containerPreview);
md.use(componentPreview);
},
},
});
If the components are not SSR-friendly, you can specify the clientOnly to disable SSR.
import { defineConfig } from 'vitepress';
import {
containerPreview,
componentPreview,
} from '@vitepress-demo-preview/plugin';
export default defineConfig({
markdown: {
config(md) {
/**
* SSR Compatibility
* @link https://vitepress.dev/guide/ssr-compat
* If the components are not SSR-friendly, you can specify the clientOnly to disable SSR.
*/
md.use(containerPreview, { clientOnly: true });
md.use(componentPreview, { clientOnly: true });
},
},
});
If you need to use alias paths, you can configure the alias in the vitepress configuration file.
import { defineConfig } from 'vitepress';
import { resolve } from 'path';
const alias = {
'@': resolve(__dirname, '../../example'),
};
export default defineConfig({
// ...
markdown: {
config(md) {
md.use(componentPreview, { alias });
md.use(containerPreview, { alias });
},
},
vite: {
resolve: {
alias,
},
},
});
<!-- Tip: Support for closed tags -->
<preview path="./xxx/xx.vue"></preview>
<preview path="./xxx/xx.vue" title="title"></preview>
<preview path="./xxx/xx.vue" title="title" description="component description content"></preview>
:::preview
demo-preview=./xxx/xx.vue
:::
:::preview title
demo-preview=./xxx/xx.vue
:::
:::preview title || component description content
demo-preview=./xxx/xx.vue
:::
You can customize component behaviors through the defineClientComponentConfig function.
// .vitepress/theme/index.ts
import { defineClientComponentConfig } from '@vitepress-demo-preview/core';
// Define custom configuration
defineClientComponentConfig({
copySuccessText: 'Code copied to clipboard!',
});
| Option | Type | Default | Description |
|---|---|---|---|
copySuccessText | string | '复制成功' | The text shown when code is successfully copied |
@vitepress-demo-preview/plugin@vitepress-demo-preview/plugin is a markdown-it plugin, which mainly provides two kinds of Component preview methods, namely Component Form and Container Form.
@vitepress-demo-preview/component@vitepress-demo-preview/component is a component library that provides presentation components. It mainly provides three containers. These are Ant Design Container, ElementPlus Container, and Naive UI Container, which mimic the styles associated with the preview of each UI framework component.
Of course, we will also consider providing similar component containers for other component libraries.
Tip: @vitepress-demo-preview/component is not necessary. You can also consider just using the @vitepress-demo-preview/plugin, which is not bound to each other. You can implement your own component container according to your own preferences and needs. For details, refer to the source code of the above three containers.
Copyright (c) 2023 flingyp
FAQs
preview component of code and component in vitepress
We found that @vitepress-demo-preview/plugin demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.