惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
J
Java Code Geeks
Martin Fowler
Martin Fowler
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
爱范儿
爱范儿
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
博客园 - 【当耐特】
Y
Y Combinator Blog
Last Week in AI
Last Week in AI
MongoDB | Blog
MongoDB | Blog
G
Google Developers Blog
博客园 - 三生石上(FineUI控件)
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
罗磊的独立博客
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 司徒正美

Rafael Magalhaes

海外公司无实名向中国发送 OTP 短信 Internal Developer Platform 简介 故郷で野良猫を保護したことについて 我喜欢的动漫女角色 在日本租房 我遭遇的网络安全事件及应对 きつい日々はやっと終わりそう 在东京救助流浪猫 仇恨教育真实存在吗 什么是创业 向中国程序员介绍日本 IT Blog Reimplemented Deploy Perforce Server into Kubernetes 马伯庸写做爱 Dynamic 3D Physical Rope in Godot - Part2 Abandoned Space Werewolf Indiegame Showcase Dynamic 3D Physical Rope in Godot - Part1 我挤上了女性专用车厢 日本见闻(其一) Integrate Godot Headless Server with Nakama Jet Animation Sequence Lamp Animation Rigged 第一次用数位板画画 计算机能解决的问题 一个淘宝商品封面 黄奇帆的观点 中国历史王朝的巅峰 - 宋 历史上公司的极致 GDP 简介 为什么要读历史
Blog Enhanced
2026-05-24 · via Rafael Magalhaes

AI 时代的到来的确提升了软件行业的生产力,显著的证据就是 Github 的流量激增甚至导致可用性下降。本博客程序也在 AI 的帮助下进行了迭代。

以下将“把博客程序 clone 下来,自己部署的开发者”称作“用户”,将“部署完成后的博文阅读者”称作“访客”。

CMS

此前代码和文章内容混在同一个 repo 里,博客用户(目前也就是我)必须维护一个本地的 deploy 分支,里面放了 markdown、图片、视频,以及一些本站的配置。这样同时在一个 codebase 里维护代码和文章,很麻烦,也很容易出错,写文章就和做一次网站发版一样,哪怕只是修改几个字,也必须完整走一遍容器构建,部署。让人很没有写文章的积极性。因此,博客的内容必须和博客代码解耦。

我比较了如下方案:

博客内容放网盘

和此前 farbox 的方案一致,但中国的网盘厂商作恶的比较多,我不想让我的私密文章和图片被网盘厂商狠狠看。不作恶的网盘厂商:1. 基本都被墙了,会给中国用户增加许多部署成本;2. 没被墙又不作恶的网盘厂商,都是小厂商,它们之所以没有被墙是因为还没被墙注意到。这些小厂商没有 api,也随时会倒闭跑路。我博客内容的存在需要比它们更长寿。

添加数据库

如果把文章放到数据库里,也会给用户增加部署成本,用户必须去寻找诸如 neon supabase 这样的 db provider。而且文章放在数据库里,源文件的浏览也不够直观。虽然有 coding agent,再做一套 cms 系统并不困难,但即使是 AI 时代,尽量不要重复发明轮子的定律依然适用。AI 虽然让开发成本大幅下降,但毕竟不是零啊,何况还有维护成本呢。有其他人做了类似工作,直接重复利用不好吗。

Git Backed CMS

本博客最终集成了 decap CMS,cms 程序直接将文章 commit 到一个指定的 git repo,这个 git repo 里只放文章,不放其他任何东西。repo 更新时,Github 通过 Github Action 触发博客的更新。Nuxt Content 自动渲染此 git repo 的内容。1. Github 在可预见的未来内会一直存在,搞不好会和人类文明一样长寿;2. 普通人使用 Github 完全免费;3. git repo 可以简单设置成 private;4. git 从诞生之初就被设计成了分布式版本控制系统,因此博客文章甚至还自动获得了 versioning 能力与分布式备份的能力。

同时对于诸如图片视频的二进制内容,本博客还提供了配置 s3 的功能。

安全方面,可以配置 decap 页面的访问密码,我自己在此之上还对本站配置了 cloudflare zero trust access。

项目地址:https://github.com/portwatcher/blog

Todo

  • AI 翻译功能
  • 不配置 editor 访问密码而是启用 Login With Github 按钮