配置 vitepress-plugin-group-icons
分组代码块提供不同的图标样式
下载依赖
sh
$ npm i vitepress-plugin-group-icons
1
sh
$ pnpm i vitepress-plugin-group-icons
1
sh
$ yarn add vitepress-plugin-group-icons
1
sh
$ bun add vitepress-plugin-group-icons
1
使用插件
.vitepress/config.ts
typescript
import { defineConfig } from 'vitepress'
import { groupIconMdPlugin, groupIconVitePlugin } from 'vitepress-plugin-group-icons'
export default defineConfig({
markdown: {
config(md) {
md.use(groupIconMdPlugin)
},
},
vite: {
plugins: [
groupIconVitePlugin()
],
}
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
.vitepress/theme/index.ts
typescript
import Theme from 'vitepress/theme'
import 'virtual:group-icons.css'
export default Theme
1
2
3
4
2
3
4
内置图标
- Package Managers: [npm, yarn, pnpm, bun, deno ]
- Frameworks: [Vue, Svelte, Angular, React, Solid, Astro, Next, Nuxt]
- Bundlers: [Rollup, Webpack, Vite, esbuild]
- Configuration Files: [package.json, tsconfig.json, eslint.config.js, .gitignore, .env, .vscode/settings.json, tailwind.config.js, uno.config.ts, .oxlintrc.json]
- Filename Extension: [foo.ts, foo.js, foo.md, foo.py, foo.yml, foo.html, foo.css, foo.scss, foo.ico]
自定义图标
你可以从 iconify, 本地 svg 文件或 url 中添加任何图标
.vitepress/config.ts
ts
import { defineConfig } from 'vitepress'
import { groupIconMdPlugin, groupIconVitePlugin, localIconLoader } from 'vitepress-plugin-group-icons'
export default defineConfig({
markdown: {
config(md) {
md.use(groupIconMdPlugin)
},
},
vite: {
plugins: [
groupIconVitePlugin({
customIcon: {
'.mdx': 'vscode-icons:file-type-light-mdx',
'babel': 'vscode-icons:file-type-babel',
'vitepress': localIconLoader(import.meta.url, '../assets/vitepress.svg'),
'unplugin': 'https://unplugin.unjs.io/logo_light.svg',
},
})
],
}
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22