Skip to content

配置参考

主题通过 FxThemeConfig 扩展了 VitePress 默认主题配置,新增了音乐球和彩纸效果的配置项。

FxThemeConfig

FxThemeConfig 继承自 DefaultTheme.Config,新增以下字段:

ts
interface FxThemeConfig extends DefaultTheme.Config {
  /**
   * 悬浮音乐球配置
   */
  musicBall?: {
    /** 是否启用音乐球,默认 true */
    enable?: boolean
    /** 是否可见,默认 true */
    visible?: boolean
    /** 自动播放,默认 false */
    autoplay?: boolean
    /** 循环播放(仅单曲模式),默认 true */
    loop?: boolean
    /** 单首音乐地址 */
    src?: string
    /** 多首音乐列表 */
    list?: MusicItem[]
  }

  /**
   * 是否启用点击彩纸效果,默认 true
   */
  confetti?: boolean
}

interface MusicItem {
  /** 歌曲名称 */
  name: string
  /** 音频文件地址 */
  src: string
}

音乐球配置

单曲模式

配置 src 字段即可启用单曲模式:

ts
themeConfig: {
  musicBall: {
    enable: true,
    autoplay: false,
    loop: true,
    src: '/music/my-song.mp3',
  },
}

音频文件需放在 public/ 目录下,如 public/music/my-song.mp3

列表模式

配置 list 字段启用多首歌曲列表:

ts
themeConfig: {
  musicBall: {
    enable: true,
    autoplay: true,
    loop: true,
    list: [
      { name: '梦中的婚礼', src: '/music/wedding-dream.mp3' },
      { name: '海阔天空', src: '/music/broad-sea-sky.mp3' },
      { name: '碎银几两', src: '/music/silver-coins.mp3' },
    ],
  },
}

提示

list 只有一首歌曲时,自动切换为单曲模式(等价于配置 src)。

彩纸效果配置

ts
themeConfig: {
  // 启用彩纸(默认)
  confetti: true,

  // 禁用彩纸
  confetti: false,
}

彩纸效果在用户点击页面任意位置时触发,会在点击位置释放金色星星和彩色圆形纸屑。

完整配置示例

ts
// .vitepress/config.mts
import { defineConfigWithTheme } from 'vitepress'
import fxConfig from '@fuxishi/vitepress-theme/config'
import type { FxThemeConfig } from '@fuxishi/vitepress-theme/config'

export default defineConfigWithTheme<FxThemeConfig>({
  extends: fxConfig,
  lang: 'zh-CN',
  title: '我的文档站',
  head: [['link', { rel: 'icon', type: 'image/png', href: '/favicon.png' }]],
  themeConfig: {
    logo: '/logo.png',
    nav: [
      { text: '指南', link: '/guide/' },
    ],
    sidebar: {
      '/guide/': [
        { text: '快速开始', link: '/guide/getting-started' },
      ],
    },
    footer: {
      copyright: 'Copyright © 2025-present',
    },
    // 主题扩展配置
    confetti: true,
    musicBall: {
      enable: true,
      autoplay: false,
      loop: true,
      list: [
        { name: '歌曲名', src: '/music/song.mp3' },
      ],
    },
  },
})

在MIT许可下发布    备案号: 晋ICP备2024051569号-1