又开张了
开业大酬宾,新老顾客凭与 https://feng.moe/
博客交换友情链接的截图记录,可来广州找烧饼请吃一顿饭😋
这一次用了什么博客框架?
这次我调研了一些可玩性比较高的博客框架,旨在想在满足“内容第一”的前提下,二次开发更加简单上手,最终选择了这样一套技术栈:
Astro + Cloudflare Pages + React
Astro
Astro 类似于 VitePress/Next.js/Nuxt.js 一类静态网站构建框架,特别的地方在于:
- 内容驱动: 它的内容集合概念 可以轻松地从一个泛用的静态网站架构变为专门为博客设计的架构,同时原生支持 Markdown 和 MDX 语法, 不需要做过多的开发准备工作就可以开始编写你的文章。
- UI 无关: 它不会像 VitePress/Next.js 一样事先决定好你要使用什么 UI 框架进行开发,尽管这对于本身就熟悉 React 或者 Vue.js 框架的同学来说不算优势,但它可以任意地和不同 UI 框架组合就意味着你在启动项目时不需要做太多的取舍决策, 先把坑开好,再循序渐进补充网站需要的东西。
至于相似的地方,这几点很重要:
- 服务端渲染: 通常来说在客户端加载速度会更快,对搜索引擎 SEO 会更友好,对于重度内容网站来说是必备要求
- 社区资源丰富: 尽管我决定要自己多动手来构建出自己想要的博客效果,但不代表事事都要自己动手,而我的博客就是基于 astro-paper 项目进行二次开发构建的
- 配套设施完善: Astro 定制了一套
.astro
语言语法,是 HTML 的超集,但也需要 IDE 有良好的语法高亮提示, 在我常用的 Jetbrains IDE 和 Visual Studio Code 都有官方插件支持; 除此以外,在 Vercel、Cloudflare Pages 等 PaaS 页面平台都有配套支持,可以快速接入 CI/CD 流程发布到互联网中
Cloudflare Pages
我的多个域名目前都是托管在 Cloudflare DNS 上,最近搭建 Homelab 想内网穿透出去使用了 ZeroTrust 和 Access 产品,
体验非常不错。以前静态博客构建都是自己在 GitHub 上搭建 Actions 再单独发布到 gh-pages
分支,中间有一定的调试工作,
有经验后不是什么难题,但是 Cloudflare 产品体验确实是很用心在做,于是打算以此为契机开始尝试 Cloudflare Pages。
React
事实上我还没有开始学习 React 框架,之前一直都是首选 Vue.js,毕竟 Vue.js 还没玩透,要学的东西还有很多。
因为现在的博客代码是基于 astro-paper 项目开始改的, 前面提到的大部分内容都是由 Astro 进行服务端渲染,而原项目其中的搜索交互使用了 React 编写,便保留了下来。
后续博客还需要补充评论交流功能,也许我会继续使用 React 进行开发完善,也可能会重写到 Vue.js。
问题来了
大家都在不停地折腾框架,文章都没写多少?
很遗憾,我也是其中一员。我最早用过 WordPress、Typecho 博客框架,部署过新浪云、Hostker 还有自建虚拟机上, 因为这些框架在业界比较流行,更新不够及时又疏于管理,被人攻击把数据库搞挂了之后,有一段时间都没有写文章。 后来基本都在使用 Hexo 静态博客框架,借助于强大的 GitHub Pages 和 Cloudflare CDN,不用担心被 DDoS 或利用漏洞导致瘫痪, 但是也没有解决自己不常写文章的问题😅
那为什么又重新开坑?
毕业入职鹅厂后,很多时间都在学习公司内基础设施和工作流程,很多东西都落后于业界,且由于大人的原因, 大家没有时间精力去优化完善,而我所在的岗位没有什么机会去挑战一些有难度的项目,经常都是被业务催着交付, 疏于学习和提升自我了。
回顾了一下,我在工作过程还是积累了非常多有价值的内容和知识,并且写在了团队和个人知识库中, 在分享精神和团队意识上私以为已经超越了敝司 90% 的同事,其他人都在靠口口相传来体现自己的价值, 在不停地重复工作中巩固自己地位,这对于一个 INFP 来说是很难融入的价值观和氛围。
既然我工作上有积极的态度和精神去分享,为何不在业余时间也适当分享一些通用的技术知识(当然是不敏感的部分)
无论如何,都希望自己的努力能得到大家的认可