UNPKG

vitepress-plugin-sandpack

Version:
108 lines (70 loc) 2.37 kB
![](https://ik.imagekit.io/jerrywu001/sandpack.png) # install This is plugin for vitepress that give you the power of editable sandboxes that run in the browser. Language support: `angular` | `react` | `react-ts` | `vanilla` | `vanilla-ts` | `vue` | `vue3` | `vue3-ts` | `svelte` | `solid` | `test-ts`. - install package ```bash cd project-folder npm i vitepress-plugin-sandpack -D ``` TIPS: for `pnpm` you need: ```bash pnpm add markdown-it-container -D ``` - edit theme config, register global component `docs/.vitepress/theme/index.ts` ```diff import DefaultTheme from 'vitepress/theme'; +import { Sandbox } from 'vitepress-plugin-sandpack'; +import 'vitepress-plugin-sandpack/dist/style.css'; export default { ...DefaultTheme, enhanceApp(ctx) { DefaultTheme.enhanceApp(ctx); + ctx.app.component('Sandbox', Sandbox); }, } ``` - edit config `docs/.vitepress/config.ts` ```js import { defineConfig } from 'vitepress'; import container from 'markdown-it-container'; import { renderSandbox } from 'vitepress-plugin-sandpack'; // rule of 'html tag name' to 'component name' // 'sanbox' -> 'Sandbox' // 'my-sandbox' -> MySandbox // 'sandbox-react-demo' -> SandboxReactDemo export default defineConfig({ // ... markdown: { config(md) { md // the second parameter is html tag name .use(container, 'sandbox', { render (tokens, idx) { return renderSandbox(tokens, idx, 'sandbox'); }, }); }, }, // ... }) ``` # document [Full document](https://vitepress-sandbox.js-bridge.com) [Custom usage](https://vitepress-sandbox.js-bridge.com/custom-usage/custom.html) [vite-templates (from @0.3.0)](https://vitepress-sandbox.js-bridge.com/vite-templates/vite-vue-ts.html) [大陆备用地址](https://vitepress-sandbox.netlify.app) ## how to use [online demo](https://stackblitz.com/edit/vitejs-vite-79ocfq) - code in markdown file ![image](https://ik.imagekit.io/jerrywu001/sandbox-code.png) - preview in browser light mode ![](https://ik.imagekit.io/jerrywu001/sandbox-demo1.png) dark mode ![](https://ik.imagekit.io/jerrywu001/sandbox-demo2.png) ## use file snippets [File snippets](https://vitepress-sandbox.js-bridge.com/basic-usage/snippets.html)