配置总览
本页介绍 src/config/ 下三个配置文件的分工,并提供常见修改场景的快速索引,帮助你在不改动组件代码的前提下完成日常维护。
全站内容收敛到三个配置文件,绝大多数维护工作通过修改配置即可完成。
| 配置文件 | 负责什么 | 谁来改 |
|---|---|---|
| site.config.js | 站名、组名、QQ 群号、生日日期、备案号 | 建站时改一次 |
| content.config.js | 首页文案、板块、贡献者名单、歌单、页脚 | 组员最常改 |
| theme.config.js | 主题色、字体、卡片风格、粒子特效、动效 | 想换肤时改 |
每个配置文件的字段都在对应章节有完整说明,本页先给出全局速查。
唯一来源原则
同一份信息只在配置中书写一次。以 QQ 群号为例:
- 联系方式板块的群号卡片与「复制群号」按钮 → 读
siteConfig.qqGroup - 页脚的「由 xx 制作 · QQ群:xxxx」→ 也读
qqGroup
修改一处,全站同步生效,不会出现「改了 A 处忘了 B 处」的情况。
快速索引
站点信息(site.config.js)
下表列出站点信息类修改对应的配置项。
| 想改什么 | 改哪个字段 |
|---|---|
| 站名(页脚品牌) | siteConfig.siteName |
| 生贺组名称 | siteConfig.groupName |
| QQ 群号 | siteConfig.qqGroup |
| 生日倒计时日期 | siteConfig.birthday.month / day(自然月!) |
| 倒计时文案的事件名 | siteConfig.birthday.eventName |
| 备案号(留空隐藏) | siteConfig.icp.text / href |
页面内容(content.config.js)
下表列出页面内容类修改对应的配置项。
| 想改什么 | 改哪个字段 |
|---|---|
| 首页大标题图 | homeSections → hero.titleImage.src / alt |
| 首页首屏描述文字 | hero.description |
| 首屏两个按钮的文字与跳转 | hero.primaryButton / secondaryButton |
| 右侧贺图轮播 | hero.slides 数组 |
| 核心贡献者(首页) | coreContributors.contributors 数组 |
| 全部贡献者(/contributors) | contributorsPage.members 数组 |
| 招募岗位 | recruit.items 数组 |
| 联系方式板块文字 | contact.title / description(群号自动读 site 配置) |
| 歌单 | playlist 数组 |
| 页脚各区块 | footerConfig |
视觉主题(theme.config.js)
下表列出视觉主题类修改对应的配置项。
| 想改什么 | 改哪个字段 |
|---|---|
| 全站主题色 | 文件顶部 accentPurple / accentPink / accentGold 三个常量 |
| 深色模式配色 | colors.dark |
| 浅色模式配色 | colors.light |
| 卡片风格(液态玻璃等 4 种) | preset |
| 毛玻璃模糊程度 | effects.glassBlur |
| 首屏星空 | effects.starfield + home.hero 星云颜色 |
| 内容区花瓣 / 粒子 / 闪电 | effects.contentParticles + home.contentParticles |
| 页脚粒子 | effects.footerParticles + home.footerParticles |
| 按钮发光 / 卡片上浮等微交互 | effects.animations |
| 轮播间隔 | effects.swiper.autoplayDelay |
| Toast 时长 | effects.toast |
| 标题 / 正文字体 | fonts.title / fonts.body |
配置的两种消费方式
- 生成 CSS 变量:
theme.config.js中的标量值(字符串、数字)会被vite.config.js的插件拍平为 CSS 变量,供index.css、Tailwind 与 JSX 的var(--xxx)使用;对象会被递归拍平(如glassBlur.light→--effects-glass-blur-light) - JS 直接 import:只有数组(如粒子颜色列表)不生成 CSS 变量,由组件直接
import { themeConfig }读取
注意
homeSections 中每个板块的 id 是它与 React 组件之间的注册键(HomePage.jsx 的 sectionComponents)。修改名称会导致该板块渲染为空。新增板块的正确做法见 新增板块与组件。