一、建站过程——框架选型
建站框架选型过程
在搭建个人博客的初期,我调研了几种流行的静态站点生成器,旨在找到一个既能满足我的技术偏好,又能提供良好写作和维护体验的框架。以下是我当时考虑的几个主要选项:
1. Nextra
Nextra 是基于 Next.js 的静态站点生成器,特别适合构建文档网站。它利用了 Next.js 的强大功能,如文件系统路由、API 路由等,并且支持 MDX,可以直接在 Markdown 中使用 React 组件。Nextra 的优势在于其灵活性和与 React 生态的紧密结合,对于熟悉 Next.js 的开发者来说非常友好。然而,对于一个以博客为主的站点,Nextra 可能显得有些“重”,且其主要设计目标是文档,而非传统意义上的博客。
2. Dumi
Dumi 是基于 UmiJS 的组件级文档和静态站点工具,主要面向组件开发者。它提供了丰富的组件演示和调试能力,内置全文搜索,并且编译性能优秀。Dumi 在展示组件和构建组件库文档方面表现出色,但与 Nextra 类似,它更侧重于技术文档和组件展示,用于个人博客可能不是最直接的选择。
3. Rspress
Rspress 是基于 Rspack 的静态站点生成器,强调构建速度和性能。它同样支持 MDX,并提供了一些开箱即用的功能。Rspress 作为新兴的工具,在性能方面有潜力,但其生态和社区成熟度相比老牌框架可能还有差距,这在选择长期使用的博客框架时是一个需要考虑的因素。
4. Docusaurus
Docusaurus 是由 Facebook 开源的静态站点生成器,广泛用于构建项目文档网站。它基于 React,支持 MDX,提供了版本控制、国际化、全文搜索等强大功能。Docusaurus 的社区活跃,文档丰富,是一个非常成熟和可靠的选择。虽然它主要面向文档,但也可以用于构建博客。它的功能全面,但配置相对复杂,对于只想快速搭建一个简单博客的用户来说,可能学习成本稍高。
5. Hexo
Hexo 是一个快速、简单、强大的博客框架,基于 Node.js。它以其简洁的命令行操作、丰富的插件和主题生态而闻名。Hexo 的核心设计就是为博客而生,提供了方便的文章管理、分类、标签等功能。它的生成速度快,部署简单,并且有大量的第三方主题可供选择,如我目前使用的 Butterfly 主题,提供了美观的界面和丰富的功能。
最终选择 Hexo 的原因
在权衡了以上几个框架后,我最终选择了 Hexo。主要原因如下:
- 专注于博客: Hexo 的设计初衷就是为了构建博客,其工作流程和功能都非常符合个人博客的需求。
- 简单易用: Hexo 的安装、配置和使用都相对简单,通过命令行即可完成大部分操作,降低了入门门槛。
- 丰富的生态: Hexo 拥有庞大的社区和丰富的插件、主题资源,可以轻松实现各种定制需求。特别是 Butterfly 主题,提供了非常现代和美观的界面,并且功能强大。
- 生成速度快: Hexo 的静态文件生成速度非常快,这对于频繁更新博客的用户来说非常重要。
- 部署便捷: Hexo 支持多种部署方式,通过简单的配置即可将生成的静态文件部署到 GitHub Pages、Coding Pages 等平台。
虽然 Nextra、Dumi、Rspress 和 Docusaurus 在各自领域都有独特的优势,但考虑到我主要的需求是搭建一个易于维护、功能完善且界面美观的个人博客,Hexo 配合 Butterfly 主题成为了最适合我的选择。这个选择让我在建站初期能够快速搭建起博客框架,将更多精力投入到内容创作上。