<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>浮光</title><description>一个运行在 Cloudflare Pages 上的中文博客</description><link>https://your-site.pages.dev/</link><language>zh_CN</language><item><title>Cloudflare Pages + Worker 的部署思路</title><link>https://your-site.pages.dev/posts/cloudflare-deployment/</link><guid isPermaLink="true">https://your-site.pages.dev/posts/cloudflare-deployment/</guid><description>把静态站点和互动 API 拆开，获得更简单的部署边界。</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;Cloudflare Pages + Worker 的部署思路&lt;/h1&gt;
&lt;p&gt;这套项目分成两个独立部署单元：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;fuwari-cloudflare&lt;/code&gt; 根目录是 Astro 静态站点，发布到 Cloudflare Pages。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;worker&lt;/code&gt; 目录是互动 API，发布为单独的 Cloudflare Worker。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;站点通过 &lt;code&gt;PUBLIC_API_URL&lt;/code&gt; 调用 Worker。Worker 通过 &lt;code&gt;SITE_ORIGIN&lt;/code&gt; 限制跨域来源，数据库绑定使用 Cloudflare D1。生产环境中可以给 Worker 绑定 &lt;code&gt;api.example.com&lt;/code&gt;，让 API 地址稳定且便于迁移。&lt;/p&gt;
&lt;h2&gt;安全边界&lt;/h2&gt;
&lt;p&gt;密码使用 PBKDF2 + SHA-256 派生后存储，不保存明文密码；会话 token 只以哈希形式写入 D1。点赞按用户去重，阅读量按访客和 UTC 日期去重，评论提交后默认是 &lt;code&gt;pending&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;部署前请先阅读项目根目录的 &lt;code&gt;CLOUDFLARE.md&lt;/code&gt;，完成 D1 迁移、Worker secret 和 Pages 环境变量配置。&lt;/p&gt;
</content:encoded></item><item><title>欢迎来到浮光</title><link>https://your-site.pages.dev/posts/welcome/</link><guid isPermaLink="true">https://your-site.pages.dev/posts/welcome/</guid><description>使用 Fuwari、Astro、Cloudflare Pages 与独立 Worker 搭建的中文博客起点。</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;欢迎来到浮光&lt;/h1&gt;
&lt;p&gt;这是一个以 &lt;strong&gt;Fuwari&lt;/strong&gt; 为视觉基础、部署在 &lt;strong&gt;Cloudflare Pages&lt;/strong&gt; 的中文静态博客示例。&lt;/p&gt;
&lt;p&gt;页面本身只负责构建和展示：文章由 Astro 在构建时生成，搜索由 Pagefind 在发布时建立索引。点赞、阅读量、登录、评论和审核则由旁边的独立 Cloudflare Worker 负责，并使用 D1 持久化数据。&lt;/p&gt;
&lt;h2&gt;这套结构为什么适合博客&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;静态优先&lt;/strong&gt;：文章访问不需要等待后端渲染，Pages 全球边缘缓存即可直接返回 HTML。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;互动能力解耦&lt;/strong&gt;：Worker 只处理小而明确的 API，不把数据库和登录逻辑塞进主题代码。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;数据可控&lt;/strong&gt;：D1 保存用户、会话、点赞、去重阅读量和评论审核状态。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;可以渐进增强&lt;/strong&gt;：即使 Worker 暂时没有配置，文章仍然可以正常阅读。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;评论默认进入待审核状态，只有管理员在 &lt;code&gt;/admin/&lt;/code&gt; 中通过后才会公开显示。&lt;/p&gt;
</content:encoded></item></channel></rss>