Theo-Messi / tools

✨ 集成 Vue 功能组件和主题美化的 VitePress 插件
https://tools.theojs.cn
MIT License
222 stars 16 forks source link

链接卡片里的BoxCube #27

Closed qihaimi closed 1 month ago

qihaimi commented 1 month ago

大佬,你好,想问下链接卡片里的BoxCube代码放在md页面没有生效,请问是放在哪里可以让文章页面里显示呢

<BoxCube
  :items="[
    //使用FontAwesome图标
    { name: 'Github', link: '', icon: 'fab fa-github' },
    //使用FontAwesome图标 + 副标题
    { name: 'Vue.js', link: '', icon: 'fab fa-vuejs', desc: 'v3.4.31' },
    //使用自定义图标+副标题
    { name: 'Node.js', link: '', icon: 'https://i.theojs.cn/logo/nodejs.svg', desc: 'v20.15.0' },
    //使用自定义图标+深浅模式+副标题
    { name: 'Github', link: '', light: 'https://i.theojs.cn/logo/github.svg', dark: 'https://i.theojs.cn/logo/github-dark.svg', desc: 'v20.15.0' }
  ]"
/>
Theo-Messi commented 1 month ago

先在.vitepress/theme/index.ts中全局注册 BoxCube


import DefaultTheme from 'vitepress/theme'

import { DocBoxCube } from '@theojs/lumen'
export default {
  extends: DefaultTheme,
  enhanceApp: ({ app }) => {
    app.component('BoxCube', DocBoxCube)
  }
  ...//其他代码
}

然后直接在md文件中使用就可以了

qihaimi commented 1 month ago

先在.vitepress/theme/index.ts中期注册 BoxCube

import DefaultTheme from 'vitepress/theme'

import { DocBoxCube } from '@theojs/lumen'
export default {
  extends: DefaultTheme,
  enhanceApp: ({ app }) => {
    app.component('BoxCube', DocBoxCube)
  }
  ...//其他代码
}

然后直接在md文件中使用就可以了

这里操作过了,是哪里不对吗,在md文件里直接粘贴BoxCube代码不显示

// https://vitepress.dev/guide/custom-theme
import { h } from 'vue'
import DefaultTheme from 'vitepress/theme'
import { DocAsideLogo } from '@theojs/lumen'
import { Aside_Data } from '../data/AsideData'
import { DocBox, DocLinks, DocBoxCube } from '@theojs/lumen'
import './style.css'

/** @type {import('vitepress').Theme} */
export default {
  extends: DefaultTheme,
  enhanceApp: ({ app }) => {
    app.component('Box', DocBox)
    app.component('Links', DocLinks)
    app.component('BoxCube', DocBoxCube)
  },
  Layout: () => {
    return h(DefaultTheme.Layout, null, {
      'aside-ads-before': () => h(DocAsideLogo, { Aside_Data }) 
      // https://vitepress.dev/guide/extending-default-theme#layout-slots
    })
  },
  enhanceApp({ app, router, siteData }) {
    // ...
  }
}
Theo-Messi commented 1 month ago

先在.vitepress/theme/index.ts中期注册 BoxCube

import DefaultTheme from 'vitepress/theme'

import { DocBoxCube } from '@theojs/lumen'
export default {
  extends: DefaultTheme,
  enhanceApp: ({ app }) => {
    app.component('BoxCube', DocBoxCube)
  }
  ...//其他代码
}

然后直接在md文件中使用就可以了

这里操作过了,是哪里不对吗,在md文件里直接粘贴BoxCube代码不显示

// https://vitepress.dev/guide/custom-theme
import { h } from 'vue'
import DefaultTheme from 'vitepress/theme'
import { DocAsideLogo } from '@theojs/lumen'
import { Aside_Data } from '../data/AsideData'
import { DocBox, DocLinks, DocBoxCube } from '@theojs/lumen'
import './style.css'

/** @type {import('vitepress').Theme} */
export default {
  extends: DefaultTheme,
  enhanceApp: ({ app }) => {
    app.component('Box', DocBox)
    app.component('Links', DocLinks)
    app.component('BoxCube', DocBoxCube)
  },
  Layout: () => {
    return h(DefaultTheme.Layout, null, {
      'aside-ads-before': () => h(DocAsideLogo, { Aside_Data }) 
      // https://vitepress.dev/guide/extending-default-theme#layout-slots
    })
  },
  enhanceApp({ app, router, siteData }) {
    // ...
  }
}

导出了两个enhanceApp

qihaimi commented 1 month ago

先在.vitepress/theme/index.ts中期注册 BoxCube

import DefaultTheme from 'vitepress/theme'

import { DocBoxCube } from '@theojs/lumen'
export default {
  extends: DefaultTheme,
  enhanceApp: ({ app }) => {
    app.component('BoxCube', DocBoxCube)
  }
  ...//其他代码
}

然后直接在md文件中使用就可以了

这里操作完了,是哪里吗,在md文件里直接粘贴BoxCube代码不显示

// https://vitepress.dev/guide/custom-theme
import { h } from 'vue'
import DefaultTheme from 'vitepress/theme'
import { DocAsideLogo } from '@theojs/lumen'
import { Aside_Data } from '../data/AsideData'
import { DocBox, DocLinks, DocBoxCube } from '@theojs/lumen'
import './style.css'

/** @type {import('vitepress').Theme} */
export default {
  extends: DefaultTheme,
  enhanceApp: ({ app }) => {
    app.component('Box', DocBox)
    app.component('Links', DocLinks)
    app.component('BoxCube', DocBoxCube)
  },
  Layout: () => {
    return h(DefaultTheme.Layout, null, {
      'aside-ads-before': () => h(DocAsideLogo, { Aside_Data }) 
      // https://vitepress.dev/guide/extending-default-theme#layout-slots
    })
  },
  enhanceApp({ app, router, siteData }) {
    // ...
  }
}

删除了两个enhanceApp

喔,注释了下面个enhanceApp,然后生效了,谢谢大佬~~