用 Rspress 构建个人网站

Rspress React MDX

这是 avotokyo.me 改造后的第一篇文章。旧站功能分散、维护成本偏高;这次重做的目标很明确:内容即站点,尽量用 Rspress 原生能力完成,少写自定义代码

背景

个人站需要同时承载博客、职业经历与绩效记录,且希望内容与导航能随 MDX 文件自动更新,而不是维护多套页面模板。

站点概览

首页是入口,顶部导航可以直达各栏目:

栏目内容
博客技术文章与开发笔记
职业工作经历与职业发展
绩效年度与季度考核记录

技术选型

技术
静态站点Rspress 2
UIReact 19
构建Rsbuild、vite-plus
部署GitHub Actions → GitHub Pages

选 Rspress 主要是因为它原生支持 MDX 与文档站点工作流,写博客和栏目页不需要额外搭框架。Rspress 内置主题组件(BadgeStepsLink 等)足够覆盖个人站需求,无需 eject 主题。

实现

仓库结构

docs/              # MDX 页面(博客、职业、绩效、首页)
├── blog/
├── career/
├── kpi/
└── public/        # robots.txt、头像等稳定 URL 资源
rspress.config.ts  # 站点配置、导航、插件
vite.config.ts     # lint / format

关键配置

  • 配置集中在 rspress.config.ts — 站点标题、描述、社交链接、导航栏等全局设置只写一处。
  • MDX frontmatter 驱动列表 — 博客与绩效列表通过 overview: truesort 字段排序,无需手动维护文章索引。
  • 插件分工明确rspress-plugin-auto-nav 自动生成各目录的 _meta.jsonrspress-plugin-auto-sidebarscanDir 扫描文件生成侧栏,配合 reverse: true 实现「sort 越大越靠前」。

完整说明见仓库 README

小结

Rspress 2 足以支撑个人站的内容组织与导航生成,后续博客会陆续记录开发过程中的实际问题与解法,方向包括前端工具链、开源项目维护与文档站点实践。如果你也对静态站点或文档工程感兴趣,欢迎通过 GitHub 或 X 交流。