一直想搭一个独立的博客站,所以最近一直抽时间做这个站,正好赶上苹果发布了全新的设计语言Liquid Glass液态玻璃,很喜欢这种质感很强的拟物化设计,于是决定用在博客的设计上。
第一版做出来后,我发了一篇文章《蹭一波热度,做一个Liquid Glass主题网站》,大家很感兴趣,也提了很多建议,这次经过大量重构,申请了一个自己喜欢的域名,https://maplezz.com,终于上线了。
这次做了很多优化,包括之前很多人提到的页面可读性差的问题,也做了改善。当然这会降低一些Liquid Glass液态玻璃的质感,但是鱼和熊掌不能兼得,必须要有取舍。移动端也进行了优化,现在读起来也很舒服。
下面说说整个项目的技术架构吧,也当做个记录吧。
核心技术栈
Liquid Glass液态玻璃样式使用了liquid-glass-effect-macos开源项目,虽然玻璃效果不是特别逼真,但是好在简单,性能也可以接受。
前端框架采用了Astro + React + Tailwindcss技术。Astro是现代化的静态站点生成器,支持多框架集成;Tailwind CSS,原子化CSS框架,支持响应式设计。
内容管理部分采用了Content Collections + Decap CMS + GitHub,直接使用markdown编辑内容,md文件直接保存到GitHub上,使用Decap CMS进行内容管理,既支持版本控制,又能可视化编辑,最重要的是这都是免费的。
服务器使用了Netlify,一个静态网站托管平台,支持静态文件托管、CI/CD 自动部署、支持绑定自定义域名、提供免费 HTTPS、内置了Astro的构建流程,而且有免费额度,非常够用。
设计理念
在第一版设计中,是想做成类似wordpress那样的经典CMS系统,于是用go写了一个后台服务,但是实际使用过程中发现,似乎后台服务没必要,我想要的是一个纯粹的写文章的地方,没有复杂的数据结构,也不需要各种花里胡哨的功能,所以我毅然决然的转向了“纯静态网站”。
转为静态站后,给我开启了全新的世界,我甚至不需要买服务器或虚拟主机,直接找一个免费的CDN 托管平台就行了。也不用数据库了,用Markdown写文章,文章放到github上,只要git push,就能自动构建发布,省心省力。
而且静态页面不需要调用后端服务,所以速度也快了很多,首页加载速度从5s降到了1s,再也不用等待加载转圈圈了,纵享丝滑。
关于内容
这个站的内容我计划主要以同步公众号内容为主,还会发布一些零散的内容,因为在平台上发文章要考虑很多,要考虑内容垂直、考虑标题吸睛、考虑违禁词等等,而在自己的博客站上发文章相对轻松一些,想写点啥就写点啥,也算是一篇精神世界的自留地吧,当然基础的SEO还是要做的。
目前主要是两个类型的内容:blog和notes。blog是典型的博客文章类型,支持markdown格式展示,主要用于公众号的文章等。
notes是类似于小红书或朋友圈的类型,支持图片+文字,格式比较简洁,用于比较轻量的内容展示。
总结
全站通过静态生成、组件化设计和无头CMS的结合,实现了高性能、易维护的现代网站架构。而且轻量无需后台服务,放到免费的静态托管服务上就行了,简直完美。
终于有自己的小站了,虽然没有什么明确的成体系的发展规划,就是想有一个自己亲手做的博客站,也许这就是程序员独有的浪漫吧。
