我的博客系统演变之路

我的博客系统演变之路

💡 原文中文,约2700字,阅读约需7分钟。
📝

内容提要

文章介绍了作者博客系统的演变,经历了三代工具的更替:第一代使用GitHub和Jekyll,第二代转向Hugo和giscus,第三代采用Zola、PocketBase和Deno,强调简单、灵活和独立部署。作者使用TailwindCSS和Alpine.js提升开发效率,并选择VPS和Cloudflare进行网站托管和加速,整体架构满足个人需求,运行顺畅。

🔎

延伸解读

从免费托管到独立部署的权衡

作者第一代博客使用GitHub和Jekyll,虽然免费快速上线,但面临访问慢、无法更换引擎、Disqus隐私和请求过多等问题。第二代转向Hugo和giscus,又遇到功能臃肿、评论请求多、Vercel流量超限等挑战。这些经历表明,免费托管方案在灵活性、性能和隐私方面存在局限,促使作者最终选择独立部署,以换取更可控的架构。

技术选型中的简单与灵活原则

第三代系统以“尽量简单,足够灵活,独立部署,数据收敛”为目标。作者选择Zola因其简洁、Rust编写、维护活跃;PocketBase作为单二进制后端,满足动态内容管理需求;Deno用于后端逻辑,避免node_modules。这些选择都体现了对简单性和灵活性的追求,同时通过TailwindCSS和Alpine.js提升开发效率。

VPS与Cloudflare组合的实用考量

作者放弃Vercel,选择VPS(Vultr)以获取更高灵活度,如定时任务和本地文件交互。不选AWS或Google Cloud,是因为它们过于庞杂且费用可能不可预测,而VPS提供固定月费,避免意外费用飙升。Cloudflare则用于全球加速静态文件,不限流量,且通过auto proxy简化配置。这种组合平衡了成本、性能和可控性。

❓

Q&A

作者的博客系统经历了哪几代工具的更替?

作者的博客系统经历了三代工具的更替:第一代使用GitHub和Jekyll,第二代转向Hugo和giscus,第三代采用Zola、PocketBase和Deno。

第三代博客系统的主要特点是什么?

第三代博客系统强调简单、灵活和独立部署,使用Zola作为静态内容引擎,PocketBase用于动态内容管理。

为什么作者选择PocketBase作为动态内容管理工具?

作者选择PocketBase是因为它满足简单管理后台的需求,并且是一个单一二进制文件,便于备份和管理用户生成的内容。

作者在开发中使用了哪些工具来提升效率?

作者使用了TailwindCSS和Alpine.js来提升开发效率。

作者为什么选择VPS而不是其他云服务?

作者选择VPS是因为它提供固定费用,避免了因攻击或意外情况导致费用飙升的风险,并且觉得VPS的管理更简单。

Cloudflare在作者的博客系统中起到了什么作用?

Cloudflare用于自动对静态文件进行全球加速,确保访问速度和稳定性。

🏷️

标签

➡️

继续阅读