520? 今天是什么日子吗?不知道,不过今天是我博客的翻新日子🐶。
为什么使用 Astro
之前使用 Hexo 来搭建我的博客, 应该是很多人的入门之选吧。
在很久之前就在考虑重构我的博客站点,原先我使用的 Hexo 主题 Fluid 被我搞得太花了 :), 其使用的是 ejs
模板引擎, 但是我对 ejs
的了解不多 (第一眼感觉不是很美观,有点像 JSP), CSS 样式使用的是 stylus
有点像老版本的 sass
, 所以一直没有动力去重构。
这种不能掌控的感觉,促使我在之后又陆续尝试了 Vue3, Nuxt 等技术的从项目搭建到不了了之。使用的 Astro 的契机在于学校的一门 Web 前端开发课程的作业,要求只能使用原生的 HTML, CSS, JS 来完成一个博客。我便基于 Vite 完成了这个作业 (应该还可以在本博客的 vanilla 分支看到当时的 demo)。
当时感觉使用原生的方式来开发似乎也挺方便,于是便有了这次的重构的种子🌱。
在使用 Astro 之前我已经听过这个技术,但不知什么原因 (应该是懒) 我一直没有去看过文档。后来我在探索 Vuetify 官网的颜色模式切换动画时看到了这篇博客,我在看了这个博客使用的是 Astro 之后,我便去看了 Astro 的文档,又浏览一些官网公开的博客主题模板,感觉是我想要的开发模式。
- 不与框架绑定(不像 Nuxt, Next.js 那样)
- 主打 SSG (或者高级的说是Islands?), 所以相比基于强交互框架的元框架,没有复杂服务端与客户端渲染的概念
- 精简但功能齐全,直接开箱即用的 markdown 功能,也提供了组件化开发的能力
- 基于 Vite(算是个人比较喜欢吧)配置比较方便
待将博客的瑕疵完善之后也考虑发布一个 Astro 主题模板, 有关博客的开发细节, 我会在相关的文章中说明。