跳转到内容

JSFiddle

JSFiddle 项目嵌入到 VitePress 页面中。

安装

sh
pnpm add vitepress-plugin-jsfiddle
sh
npm install vitepress-plugin-jsfiddle
sh
bun add vitepress-plugin-jsfiddle
sh
deno add vitepress-plugin-jsfiddle
sh
yarn add vitepress-plugin-jsfiddle

使用

vitepress-tuck 模式 推荐

.vitepress/config.ts
ts
import { defineConfig } from 'vitepress-tuck'
import jsfiddle from 'vitepress-plugin-jsfiddle'

export default defineConfig({
  plugins: [jsfiddle()],
})

查看 vitepress-tuck 了解更多

传统模式

.vitepress/config.ts
ts
import { defineConfig } from 'vitepress'
import { jsfiddleMarkdownPlugin } from 'vitepress-plugin-jsfiddle'

export default defineConfig({
  markdown: {
    config: (md) => {
      md.use(jsfiddleMarkdownPlugin)
    },
  },
})
.vitepress/theme/index.ts
ts
import type { Theme } from 'vitepress'
import { enhanceAppWithJsFiddle } from 'vitepress-plugin-jsfiddle/client'
import DefaultTheme from 'vitepress/theme'

export default {
  extends: DefaultTheme,
  enhanceApp(ctx) {
    enhanceAppWithJsFiddle(ctx)
  },
} satisfies Theme

语法

基本用法

md
@[jsfiddle](user/id)

带配置的用法

md
@[jsfiddle title="JS Fiddle" theme="dark" tab="js,css,html,result" height="400px"](pengzhanbo/1xbwz2p9)

属性说明

属性类型默认值说明
titlestring'JS Fiddle'标题
themestring-主题(如 dark
tabstring'js,css,html,result'显示的标签页(用逗号分隔,会去除空格)
widthstring'100%'宽度
heightstring-高度
rationumber | string-宽高比

示例

md
@[jsfiddle](pengzhanbo/1xbwz2p9)

基于 MIT 许可发布