Hexo 的问题
Hexo 在 2015–2020 年是最流行的静态博客框架,但现在暴露出几个问题:
- 插件生态老化:很多插件多年未更新,兼容性问题多
- 大站构建慢:文章超过几百篇后全量构建明显变慢
- Markdown 扩展性差:不支持 MDX,组件嵌入需要 hack
- 主题质量参差不齐:活跃维护的主题越来越少
主流替代方案
Astro(个人博客首选)
适合: 个人博客、作品集、内容站
npm create astro@latest
核心优势:
- Islands 架构:默认零 JS,按需激活交互组件
- MDX 支持:Markdown 里可以嵌入任意框架组件(React/Vue/Svelte)
- 构建速度快:增量构建,千篇文章也流畅
- SEO 友好:内置 sitemap、RSS、Open Graph
- 主题生态活跃:官方 theme showcase 持续更新
- 多框架:同一项目可以混用 React、Vue、Svelte 组件
缺点:
- 学习曲线比 Hexo 稍陡(需要理解 Islands 概念)
.astro文件语法独特
Hugo(超大站、Go 技术栈)
适合: 文章超过千篇、CI/CD 要求构建秒级完成
brew install hugo
hugo new site myblog
核心优势:
- 构建速度极快:Go 实现,数千篇文章构建只需几秒
- 单二进制:不依赖 Node.js,部署环境干净
- 模板系统强大:Go template,灵活但学习成本高
缺点:
- Go template 语法反直觉,调试困难
- 不支持组件化(无 MDX)
- 主题质量不稳定
VitePress(Vue 技术文档)
适合: 技术文档、组件库文档
npm add -D vitepress
核心优势:
- Vite 驱动:热更新极快
- Vue 生态:文档里可以直接写 Vue 组件做交互 Demo
- 默认主题精美:开箱即用,对比 Hexo 默认主题体验好很多
缺点:
- 专门为文档场景优化,个人博客功能(RSS、标签、归档)需要手写
- 不适合内容站
Next.js(需要服务端功能)
适合: 需要 SSR、API Routes、数据库查询的站点
优点:
- 完整的 React 生态
- SSG + SSR + ISR 混用
- Vercel 一键部署
缺点:
- 对纯静态博客来说过重
- 构建后体积大
Docusaurus(纯文档站)
适合: 开源项目文档、知识库
Meta 出品,React 生态,内置版本管理、多语言、搜索。对博客场景支持一般。
选型建议
| 场景 | 推荐 |
|---|---|
| 个人博客、内容站 | Astro |
| 超大站(千篇以上)或 CI 构建极速要求 | Hugo |
| Vue 组件库文档 | VitePress |
| 需要 API / 数据库 | Next.js |
| 开源项目文档 | Docusaurus |
从 Hexo 迁移成本最低的是 Astro:Markdown 文件基本兼容,frontmatter 格式相同,只需调整模板层。
