内容提要
2023年是后疫情时代的第一年,也是AI元年。作者思考了生死和个人博客的未来。为了保留个人Icon,作者将域名转移到Cloudflare,并使用GitHub作为唯一数据源。博客的资源静态化,去除了远程依赖和CDN资源。主题以Git Submodules的方式引入,可以独立升级。域名转到Cloudflare后,重定向到www域。作者对赛博菩萨充满信任和好感。
延伸解读
从“身后事”出发的博客设计
作者将“如果我死了,博客怎么办”作为核心问题,由此展开一系列技术决策。这种面向死亡编程的思路,让博客的长期可访问性成为优先目标,而非短期便利。例如域名自动续费、静态化资源、GitHub 作为唯一数据源,都是为了减少对外部服务的依赖,确保即使作者无法维护,博客仍能持续运行。
静态化与去中心化的取舍
博客去除远程依赖和第三方 CDN,将动态页面在构建时静态化,提升了性能和可靠性。即使 API 失效,页面内容仍保留最后构建状态。但作者也承认,这种选择并非唯一正确,有人可能因费用选择不同 CDN 服务商。这体现了在个人博客场景下,可靠性与成本之间的权衡。
主题分离与独立升级
通过 Git Submodules 引入主题,所有自定义修改都在博客项目内完成,不侵入主题代码。这样主题可以独立升级,而不会影响博客的个性化调整。这种分离设计降低了维护成本,也便于未来更换或更新主题,是长期维护博客的实用策略。
域名重定向与国内 CDN 的妥协
由于 Cloudflare 的 CNAME 拉平限制,根域名无法完美解析到中国大陆 CDN,作者最终将博客重定向到 www 域,并部署在腾讯云 EdgeOne 上。这改变了十多年的博客结构,但作者认为个人博客影响有限。这反映了在全球化服务与国内访问速度之间,作者选择了后者,并接受了结构上的调整。
Q&A
为什么作者把域名转移到 Cloudflare?
为了确保域名长期存在,只要 Cloudflare 不跑路,域名就会一直存在下去,并且勾选了自动续费。
博客如何实现资源静态化?
去掉了所有远程依赖(除了评论系统),像「嘀咕」「观影」等页面在构建时静态化渲染到本地,并且去掉了 CDN 资源,因为静态博客本身支持整站 CDN 部署。
博客主题是如何管理的?
主题以 Git Submodules 的方式引入,所有的自定义优化都在博客项目文件中完成,没有对主题的侵入性修改,这样主题可以独立且完整地升级。
为什么博客主站变成了 www.eallion.com?
因为域名转到 Cloudflare 后,不能自定义配置 NS 服务器,必须用 Cloudflare 的 NS 服务器,而 Cloudflare 自带 CNAME 拉平且不能关闭,导致根域名的 CNAME 不能完美解析到中国大陆的 CDN 上,所以决定重定向到 www 域。
博客的构建和部署是如何进行的?
使用 GitHub 作为唯一数据源,利用 GitHub Actions 进行构建和部署,如果 GitHub Pages 的网络没有被认证,可以 All in GitHub。
作者对 GitHub 的长期可靠性有什么看法?
作者同意“People Die, but Long Live GitHub”的理念,但认为 GitHub 不一定 Live long,因为秦朝、苏联、Nokia 都灭亡了,但这不影响对赛博菩萨的信任和好感。