跳到内容
playerz.fun
返回

Hello World —— 博客启航

2026 年 4 月 26 日 · 约 4 分钟阅读

为什么写博客

一直想有个安静写字的地方。不是知乎、不是掘金、不是公众号——是自己的域名、自己的审美、自己的节奏。

playerz.fun 这个域名已经买了很久了,一直在等一个合适的契机。这个周末,终于动手了。

有意思的是,搭建这个博客的整个过程——从框架选型、环境配置、代码汉化、到部署调试——大部分工作不是我亲手敲的,而是跟 AI agent 结对完成的。我负责决策和审查,agent 负责执行和修复。

说到底牌,这种方式省掉了很多”查文档 → 试 → 报错 → Google → 再试”的死循环。agent 能自主读写文件、执行命令、SSH 到远程服务器,像一个不知疲倦的远程协作者。但它也不是万能的——API Token 权限不够它搞不定、Heredoc 在 Windows 的 SSH 里就是跑不通。判断哪些任务适合交给 agent、哪些自己上手,是个在实践中磨出来的直觉。

第一次尝试:Next.js 自建

一开始选了 Next.js。理由很简单:熟悉,生态好,全栈能力强。

于是吭哧吭哧写了 50 多个文件——SQLite 数据库、12 个 API 端点、前后台页面、暗色模式……功能都跑通了,localhost:3000 全部 200 OK。但越写越觉得不对劲:

一个个人博客而已,不应该这么复杂。

第二次尝试:AstroPaper

果断推倒重来。评估了几个方案后选了 Astro + AstroPaper

对比维度Next.js 自建AstroPaper
文件数量50+ 源文件不到 30 个
暗色模式手写 100 行开箱即用
构建速度30 秒+4.5 秒
二进制依赖SQLite 需要编译零原生依赖
文章管理数据库后台Markdown 文件
搜索PageFind 静态搜索

AstroPaper 有 4.5k stars,MIT 协议,作者维护活跃。核心思路是 “写 Markdown,生成静态 HTML”,没有数据库、没有 API、没有运行时 JavaScript。这恰好就是我想要的。

三件必须要做的事

迁移到 AstroPaper 后,并不是装好就能用。做了三件关键的事:

1. 设计定制

AstroPaper 默认的配色偏暖,改了一套暗黑极简的:

底色 #0f1117   主色 #6366f1   文字 #e4e5e8

低饱和蓝紫配深灰底,关掉页面里所有的 emoji——够冷静,够极客。

2. 全面汉化

AstroPaper 原版全是英文文本。把 20 多个 Astro 组件翻了个遍:

中文搜索也要处理:PageFind 开箱支持 zh-cn 分词,但某些中英文混排的边界 case 需要关注。

3. 部署策略的转变

一开始打算部署到 Cloudflare Pages——免费、Git 自动部署、CDN 全球加速。但实际场景是:服务器就在家里,网络环境决定了 GitHub Actions 跑不起来。

最终采用了 Caddy + Cloudflare Tunnel 方案:

用户 → playerz.fun → Cloudflare DNS(CNAME 到 Tunnel)
                     → Cloudflare Tunnel(QUIC 加密)
                     → 本地 Caddy(静态文件服务)

这个架构有几个好处:

唯一多出来的依赖是 cloudflared,大约 40MB。但相比传统方案(公网 IP + Nginx + Let’s Encrypt + DDNS),简洁太多了。

总结

几个教训:

  1. 不要为简单目标搭建复杂系统。个人博客就是写 Markdown 生成 HTML,Next.js 的全栈能力在这里是过度设计
  2. 成熟的开源主题比自己从零搭划算。AstroPaper 的几个核心 feature(暗色模式、搜索、OG 图片、RSS)如果要自己实现,至少一周起步
  3. Cloudflare Tunnel 是被低估的工具。免费、不需要公网 IP、不需要配置证书——比传统反向代理方案优雅得多
  4. 工具选择要看实际环境。Windows + 中国网络,很多”最佳实践”(Docker、GitHub Actions、Google Fonts)直接不可用,需要因地制宜

这个博客会持续更新。没有什么具体的计划——想写的时候就写,内容大概会覆盖前端技术、工具折腾、偶尔的生活记录。


欢迎来访。RSS 订阅见导航栏链接。


评论

加载中...


上一篇
一键部署脚本——把更新成本降到一条命令