自定义博客名称
avatar🌌
云游君自定义博客名称

下一代静态博客框架

Valaxy 主题云预览
如何使用广告板?
小云在线征婚 +QQ群 1050458482

代码块图标测试

内置图标

使用方式参考添加代码块标题与图标

vitepress-plugin-group-icons的内置图标

builtin.ts
typescript
const builtinIcons = {
  'pnpm': 'vscode-icons:file-type-light-pnpm',
  'npm': 'vscode-icons:file-type-npm',
  'yarn': 'vscode-icons:file-type-yarn',
  'bun': 'vscode-icons:file-type-bun',
  'deno': 'vscode-icons:file-type-deno',
  'vue': 'vscode-icons:file-type-vue',
  'svelte': 'vscode-icons:file-type-svelte',
  'angular': 'vscode-icons:file-type-angular',
  'react': 'vscode-icons:file-type-reactjs',
  'next': 'vscode-icons:file-type-light-next',
  'nuxt': 'vscode-icons:file-type-nuxt',
  'solid': 'logos:solidjs-icon',
  'astro': 'vscode-icons:file-type-light-astro',
  'qwik': 'logos:qwik-icon',
  'ember': 'vscode-icons:file-type-ember',
  'rollup': 'vscode-icons:file-type-rollup',
  'webpack': 'vscode-icons:file-type-webpack',
  'vite': 'vscode-icons:file-type-vite',
  'esbuild': 'vscode-icons:file-type-esbuild',
  'package.json': 'vscode-icons:file-type-node',
  'tsconfig.json': 'vscode-icons:file-type-tsconfig',
  '.npmrc': 'vscode-icons:file-type-npm',
  '.editorconfig': 'vscode-icons:file-type-editorconfig',
  '.eslintrc': 'vscode-icons:file-type-eslint',
  '.eslintignore': 'vscode-icons:file-type-eslint',
  'eslint.config': 'vscode-icons:file-type-eslint',
  '.gitignore': 'vscode-icons:file-type-git',
  '.gitattributes': 'vscode-icons:file-type-git',
  '.env': 'vscode-icons:file-type-dotenv',
  '.env.example': 'vscode-icons:file-type-dotenv',
  '.vscode': 'vscode-icons:file-type-vscode',
  'tailwind.config': 'vscode-icons:file-type-tailwind',
  'uno.config': 'vscode-icons:file-type-unocss',
  'unocss.config': 'vscode-icons:file-type-unocss',
  '.oxlintrc': 'vscode-icons:file-type-oxlint',
  'vue.config': 'vscode-icons:file-type-vueconfig',
  '.mts': 'vscode-icons:file-type-typescript',
  '.cts': 'vscode-icons:file-type-typescript',
  '.ts': 'vscode-icons:file-type-typescript',
  '.tsx': 'vscode-icons:file-type-typescript',
  '.mjs': 'vscode-icons:file-type-js',
  '.cjs': 'vscode-icons:file-type-js',
  '.json': 'vscode-icons:file-type-json',
  '.js': 'vscode-icons:file-type-js',
  '.jsx': 'vscode-icons:file-type-js',
  '.md': 'vscode-icons:file-type-markdown',
  '.py': 'vscode-icons:file-type-python',
  '.ico': 'vscode-icons:file-type-favicon',
  '.html': 'vscode-icons:file-type-html',
  '.css': 'vscode-icons:file-type-css',
  '.scss': 'vscode-icons:file-type-scss',
  '.yml': 'vscode-icons:file-type-light-yaml',
  '.yaml': 'vscode-icons:file-type-light-yaml',
  '.php': 'vscode-icons:file-type-php',
  '.gjs': 'vscode-icons:file-type-glimmer',
  '.gts': 'vscode-icons:file-type-glimmer'
}
sh
pnpm install
sh
npm install

Valaxy内置图标

preset.ts
typescript
const builtinCustomIcon = {
  nodejs: 'vscode-icons:file-type-node',
  playwright: 'vscode-icons:file-type-playwright',
  typedoc: 'vscode-icons:file-type-typedoc',
  eslint: 'vscode-icons:file-type-eslint',
}
valaxy
typescript
export default defineValaxyConfig<ThemeConfig>({
  // ...
})

自定义图标

部分代码块未配置图标,需手动添加图标,修改valaxy配置文件。

参考vitepress-plugin-group-icons配置Custom Icons

valaxy.config.ts
typescript
export default defineValaxyConfig<ThemeConfig>({
  // ...省略无关代码
  groupIcons: {
    customIcon: {
      // valaxy: 'https://valaxy.site/favicon.svg',
      'valaxy': localIconLoader(import.meta.url, '../../docs/public/favicon.svg'),
      'valaxy.config': localIconLoader(import.meta.url, '../../docs/public/favicon.svg'),
      'dockerfile': 'vscode-icons:file-type-docker',
      'java': 'vscode-icons:file-type-java',
      'xml': 'vscode-icons:file-type-xml',
      'yml': 'vscode-icons:file-type-yaml',
      'ahk': 'vscode-icons:file-type-autohotkey',
    },
  },
})
java
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println('Hello, World!');
    }
}
xml
<?xml version='1.0' encoding='UTF-8'?>
<project xmlns='http://maven.apache.org/POM/4.0.0'
         xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
         xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd'>
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.montaro</groupId>
    <artifactId>font-secret</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox -->
        <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>pdfbox</artifactId>
            <version>3.0.2</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all -->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.27</version>
        </dependency>
    </dependencies>

</project>
yml
spring:
  profiles:
    active: dev
server:
  port: 11451
dockerfile
FROM ubuntu

ENV PATH /opt/conda/bin:$PATH
ahk
; InputTip

/**
 * 防抖函数
 * @param {Func} fn 要执行的函数
 * @param {Number} delay 延迟时间(ms)
 * @returns {Func} 函数
 */
debounce(fn, delay := 1000) {
    params := []
    timerFunc := (*) => fn.Call(params*)

    return (args*) => (
        params := args,
        SetTimer(timerFunc, 0),
        SetTimer(timerFunc, -delay)
    )
}
excerpt_type: md
RSS Image Path Test