把 Markdown 交给浏览器渲染是最省事的做法,也是最容易被打穿的做法。这篇讲怎么在服务端安全地渲染,顺带解决代码高亮和标题锚点。
CodeLog
记录架构、源码与踩坑现场
最新文章
RSS 订阅 →从 nodejs_compat 到 platformProxy,从 locals.runtime.env 到构建产物目录,把我迁移过程中真正卡住的地方一条条列出来。
Worker 里没有 bcrypt、没有 Redis、没有 req.session。用 Web Crypto 的 PBKDF2 加一张 D1 会话表,从零实现一套够用的认证。
对象存储最贵的地方从来不是存储费,而是出网流量。R2 的定价模型里没有这一项,这让我把博客的图片成本压到了每月不到一毛钱。
D1 是 Cloudflare 托管的 SQLite。它怎么建库、怎么绑定、和自建 SQLite 有什么不一样、哪些 SQL 写法会踩坑,这篇一次说清。
一台 2C2G 的云主机每年要花掉几百块,只为了跑一个访问量两位数的博客。于是我把它拆成了静态优先的 Astro + 边缘函数 + 托管数据库。