<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>Publa</title>
        <link>https://publa.app</link>
        <description></description>
        <lastBuildDate>Sun, 10 May 2026 07:30:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>zh</language>
        <copyright>All rights reserved 2026</copyright>
        <item>
            <title><![CDATA[如何零成本部署 Publa]]></title>
            <link>https://publa.app/posts/deploy-publa-for-free</link>
            <guid isPermaLink="false">https://publa.app/posts/deploy-publa-for-free</guid>
            <pubDate>Sun, 10 May 2026 07:30:00 GMT</pubDate>
            <description><![CDATA[<p>Publa 是一个免费开源的动态博客程序，基于 Next.js 开发，支持 SQLite 和 PostgreSQL 数据库，如果你的站点流量不大，可以通过 Vercel 和 Turso 的免费服务，实现零成本部署。</p><p></p><h2>准备工作</h2><p>准备工作很简单，你需要有 GitHub、Turso、Vercel 三个服务的账号。如果你已经有对应账号了，可以跳到下一步，如果还没有，可访问以下链接分别注册。</p><ul><li><p>GitHub（代码仓库）：<a target="_blank" rel="noopener noreferrer nofollow" href="https://github.com/">https://github.com/</a></p></li><li><p>Turso（数据库）：https://turso.tech/</p></li><li><p>Vercel（发布平台）：<a target="_blank" rel="noopener noreferrer nofollow" href="https://vercel.com/">https://vercel.com/</a></p></li></ul><p></p><h2>GitHub</h2><p>前往 Publa 在 GitHub 上的项目主页 <a target="_blank" rel="noopener noreferrer nofollow" href="https://github.com/oldj/publa">https://github.com/oldj/publa</a> ，Fork 这个项目。</p><p></p><h2>Turso</h2><p><a target="_blank" rel="noopener noreferrer nofollow" href="https://turso.tech/">Turso</a> 是一个云端 SQLite 数据库服务商，免费用户可创建 100 个数据库，总大小不超过 5G，每月读写次数也有限制，但对个人博客来说这个额度非常慷慨，足够大多数个人博客或小站点使用。</p><p>Publa 支持 SQLite 和 PostgreSQL 数据库，在这儿我们使用 Turso 的云 SQLite。</p><p>接下来，登录 Turso ，创建分组（Group）和数据库。</p><p>注意，在创建分组（Group）时可以选择位置，这也是数据库所在的位置，有 AP NorthEast、US West 等地区可选，见下图：</p><img src="https://cdn.publa.app/uploads/2026/04/13/turso_group_location.png" width="531" data-align="center" /><p></p><p>后面 Vercel 的 Function Region 也可以选择位置，建议将数据库和 Function Region 放在同一个地区，以提升两者的连接速度，比如都放在 AWS AP NorthEast 位置。</p><p></p><h2>Vercel</h2><p>最后的重点是在 Vercel 上部署 Publa，并连接 Turso 的数据库。</p><p>前面我们已经注册好了账号，接下来就是登录账号，继续下面的步骤。</p><p></p><h3>导入 Git 项目</h3><p>第一步，需要将 Vercel 和你的 GitHub 账号关联，然后在 Vercel 中新建一个项目，便可以看到导入 Git 仓库的界面。如下图所示。</p><img src="https://cdn.publa.app/uploads/2026/04/13/vercel_import_git_repo.png" width="607" data-align="center" /><p></p><p>如果你的项目很多，可以在这个界面搜索一下“publa”。找到对应的 GitHub 仓库后，点击右边的“Import”按钮，导入这个项目。</p><p>下一步，为这个项目取一个名字，除 <strong>Environment Variables</strong> 外的其他项目不用改动，使用默认值即可。</p><img src="https://cdn.publa.app/uploads/2026/04/13/vercel_new_project.png" width="688" data-align="center" /><p></p><h3>配置环境变量</h3><p>要让 Publa 在 Vercel 上正常运行，你需要添加 4 个环境变量，如下图所示：</p><p></p><img src="https://cdn.publa.app/uploads/2026/04/13/vercel_env.png" width="624" data-align="center" /><p></p><p>其中 <code>DATABASE_URL</code> 和 <code>DATABASE_AUTH_TOKEN</code> 可从 Turso 后台获取；<code>JWT_SECRET</code> 和 <code>CRON_SECRET</code> 可生成两个比较长的随机字符串，注意不可留空。</p><p></p><h3>发布</h3><p>接下来，点击那个 Deploy 按钮，发布，等待 1 ~ 2 分钟，看到 Vercel 提示发布成功时，你的站点就上线了！</p><p>Vercel 会自动为你的站点分配一个二级域名，如果你有自己的域名，可进入项目的设置页面绑定自己的域名，这个绑定也是免费的。</p><p></p><h2>站点初始化</h2><p>站点发布之后，数据库还是空的，此时，你可以访问<code>https://你的站点域名/setup</code> 页面进行初始化。</p><img src="https://cdn.publa.app/uploads/2026/04/14/publa_setup.png" width="486" data-align="center" /><p></p><p>初始化界面如上图所示，在此选择语言，输入管理员用户名、邮箱、密码，点击提交即可。这个账号将是<strong>站长</strong>账号，拥有站点的最高权限。如果这是团队博客，进入后台后，你还可以添加普通管理员以及编辑账号。</p><p></p><p>一切顺利的话，此时你的博客就已经顺利安装并上线了。接下来，就开始愉快地创作吧！</p>]]></description>
        </item>
        <item>
            <title><![CDATA[Hello, Publa!]]></title>
            <link>https://publa.app/posts/hello-publa</link>
            <guid isPermaLink="false">https://publa.app/posts/hello-publa</guid>
            <pubDate>Fri, 01 May 2026 03:33:26 GMT</pubDate>
            <description><![CDATA[<h2>Publa 是什么？</h2><p>Publa（读作 /ˈpʌb.la/，也可以叫它「帕布啦」）是一个轻量级的动态博客系统，基于 Next.js 开发，可用于个人博客、独立开发者、小团队官网、产品更新日志等场景，或者任何需要长期沉淀内容的小型站点。</p><p>在博客系统的选择上，我们常常面临两难：静态博客系统轻量但功能受限，无法原生支持评论、定时发布、历史记录等功能；而传统的动态博客系统虽然功能完善，但往往过于笨重，部署和维护成本高。</p><p>Publa 试图在两者之间找到平衡：既保持动态博客的完整功能，又让部署和维护尽可能简单。</p><p>Publa 不是一个只能托管在某个平台上的封闭服务，而是一个可以真正由你自己掌控的博客系统。它基于 MIT 协议开源，你可以免费安装、自由使用，也可以根据自己的需要修改它。</p><img src="https://cdn.publa.app/uploads/2026/04/30/publa.png" width="1280" data-align="center" /><p></p><h2>核心特性</h2><h3>优秀的写作体验</h3><p>Publa 自带后台管理界面，你可以在浏览器里创建文章、编辑页面、管理分类和标签，不需要每次打开代码编辑器，也不需要手动处理文件和构建流程。</p><p><strong>灵活的编辑器</strong></p><p>编辑器支持富文本、Markdown 和 HTML，你可以用最顺手的方式写作：想快速排版，就用富文本；想保留 Markdown 工作流，也可以直接写 Markdown；需要嵌入特殊内容时，还可以切到 HTML。</p><p>富文本编辑器基于 TipTap 开发，支持内容自动保存：每隔 5 秒会将编辑器中的内容保存到 localStorage，每隔 30 秒会自动将内容保存到云端草稿箱。如果连续三次自动保存失败（比如网络中断）会在顶部显示通知。因此，你可以放心地在 Publa 后台撰写文章，而不用担心内容丢失。</p><p><strong>草稿和历史版本</strong></p><p>在后台写作过程中，你可以随时离开或中断，下次再打开页面时可以从之前离开时的版本继续写，直到内容准备好再发布。</p><p>发布之后，如果发现旧版本更好，也可以随时查看或回退到某个历史版本。已经发布的文章可以继续修改，修改的版本会以草稿的形式保存，直到你点击发布，不必担心还没完成的内容出现在前台。</p><p>后台还会定期为变化的内容保存历史版本，如有需要可随时查看或恢复到之前的版本。</p><img src="https://cdn.publa.app/uploads/2026/04/30/publa-editor3.png" width="1280" data-align="center" /><p></p><h3>动态博客的优势</h3><p>和常见的静态博客不同，Publa 是动态博客。文章、页面、评论、留言、菜单、主题等内容都存储在数据库中，你不需要每写一篇文章就重新构建整个站点，也不需要使用第三方的评论或留言工具。</p><p><strong>自带评论和留言板</strong></p><p>Publa 不只是一个单向发布工具，也为读者互动预留了空间。</p><p>你可以开启文章评论，也可以启用留言板。评论支持默认显示，也可审核后再显示，留言可以在后台统一查看和处理。对于个人博客和小团队站点来说，这些功能足够覆盖日常互动，不必再额外接入第三方评论等服务。</p><p><strong>实时更新，无需重新构建</strong></p><p>静态博客每次更新内容都需要重新生成整个站点，而 Publa 可以实时发布、实时更新。你还可以利用动态博客的优势，实现定时发布、站内搜索、访问统计等静态博客难以实现的功能。</p><img src="https://cdn.publa.app/uploads/2026/04/30/dynamic.png" width="1280" data-align="center" /><p></p><h3>完整的内容管理</h3><p><strong>文章和独立页面</strong></p><p>除了文章，Publa 也支持添加独立页面，比如「关于我」「项目介绍」「友情链接」「隐私政策」等内容，都可以作为页面来维护。</p><p>页面可以使用普通站点布局（带页头、页尾），也可以使用空白模板完全自定义，比如纯文本文件、特殊说明页，或者轻量的落地页。你可以任意添加自定义页面，并指定访问路径，只要这个路径与已有页面不重复即可。</p><p><strong>附件管理</strong></p><p>Publa 内置支持 AWS S3、Cloudflare R2、阿里云 OSS、腾讯云 COS。如果你有这些平台的账号，可在 Publa 后台添加配置，之后便可以直接在附件管理页面上传和查看附件了。也可以直接在编辑器中粘贴图片，Publa 会自动将图片上传到你配置的平台。</p><p>Publa 会管理通过它上传的文件，如果你在 Publa 后台删除了文件，对应的存储平台上的文件也会同时删除。</p><p>随着高分屏的普及，我们给屏幕截图时，得到的图片尺寸通常是截图区域的两倍大小。在 Publa 的编辑器中，插入图片后，点击选中图片，图片上方便会浮现一个快捷工具栏，其中有一个将图片一键设为 1/2 尺寸的按钮。如果你使用高分屏并经常要在文章中插入屏幕截图，这个功能会很有用。</p><img src="https://cdn.publa.app/uploads/2026/04/30/half-size-03.png" width="1280" data-align="center" /><p></p><h3>部署简单，低运行成本</h3><p>Publa 保持了很低的部署门槛。你可以克隆 Publa 在 GitHub 上的仓库然后在 Node.js 环境中运行，也可以直接使用 Docker 运行。</p><p>Publa 同时支持 SQLite 和 PostgreSQL 两种数据库，你可以根据需要选择。</p><p>由于支持 SQLite，如果你想开发调试 Publa 非常简单，只需从 GitHub 上下载源码，安装依赖，然后使用 <code>npm run dev</code> 即可启动测试服务器。在没有指定数据库的情况下，Publa 会自动创建并使用本地 SQLite 以便尽快开始开发调试工作。</p><p>值得一提的是，Publa 不仅支持本地 SQLite，还支持 <a target="_blank" rel="noopener noreferrer nofollow" href="https://turso.tech/">Turso</a> 提供的在线 SQLite 服务。Turso 有足够小项目使用的免费额度，因此，对大多数个人博客或小团队博客来说，可以将 Publa 部署在 Vercel 上并使用 Turso 提供的数据库，<strong>完全零成本运行</strong>。</p><img src="https://cdn.publa.app/uploads/2026/04/30/publa-deploy-02.png" width="1280" data-align="center" /><p></p><h3>自定义外观</h3><p>Publa 内置浅色、深色和空白主题，也支持自定义主题和自定义 CSS。</p><p>如果你只想快速开始，可以直接使用默认主题；如果你希望博客更有个人风格，也可以逐步调整颜色、排版和细节。主题和自定义样式还支持导入导出，方便迁移和复用。</p><p>在后台设置中，还开放了自定义 HTML 片段的功能，支持在 <code>&lt;head&gt;</code> 末尾、<code>&lt;body&gt;</code> 开头或末尾等位置插入自定义 HTML。理论上来说，你可以根据偏好，自定义 Publa 博客前台页面的所有外观样式。</p><h3>数据迁移与备份</h3><p>Publa 博客的数据可以一键导出为 JSON 文件，也支持导入对应的 JSON 文件，方便数据的迁移与备份。</p><p>导入、导出数据的格式是公开的，你可以将其他博客的内容简单转换之后批量导入 Publa。如果使用 Publa 一段时间之后你想迁移到其他博客平台，也只需轻松地导出数据，再转换为其他平台的格式即可。</p><p>这意味着你不会被某个托管平台或数据库绑定。</p><h3>团队协作</h3><p>如果你的博客不是一个人维护，Publa 也提供了基本的用户角色：站长、管理员和编辑。</p><p>编辑可以专注于内容管理，包括评论留言处理，管理员可以维护站点设置，站长则拥有最高权限。对于小团队、工作室或产品团队来说，这样的权限划分足够覆盖大多数日常场景。</p><p></p><h2>其他实用功能</h2><p>一个博客真正运行起来后，除了写作和展示文章，常常还有一些额外的需求，比如管理菜单、配置链接跳转、查看文章的访问趋势、处理邮件通知等等。在 Publa 后台，这些常用功能都已经准备就绪。</p><p>其中，链接跳转功能对迁移博客的场景很有用。比如你从其他博客系统迁移到 Publa 后，旧文章地址可能和新的文章地址不一致，这时就可以在后台设置跳转规则，让用户访问老链接时自动跳到新链接，而不是看到 404 页面。</p><p>这对已经运营过一段时间的博客尤其重要：过去分享出去的链接、搜索引擎收录的页面、其他网站引用的地址，都可以自动跳转而不是出错。</p><img src="https://cdn.publa.app/uploads/2026/04/30/redirect-rules-02.png" data-align="center" /><p></p><p>除此之外，RSS、站点地图、站内搜索、访问统计、邮件通知等功能也都已内置，其中邮件通知支持 Resend 服务或者传统的 SMTP，只需简单配置便可开始。</p><p></p><h2>Publa 适合谁？</h2><p>如果你想要一个轻量、可控、开源的博客系统，又不想在静态站点生成、评论系统、后台管理、数据库迁移之间来回折腾，Publa 会是一个很合适的选择。</p><p>它适合：</p><ul><li><p>想搭建个人博客的人</p></li><li><p>想维护团队文章和产品更新的小团队</p></li><li><p>想把内容和评论都掌握在自己手里的站长</p></li><li><p>想要一个简单后台，而不是完整 CMS 的用户</p></li><li><p>想从免费或低成本部署开始，再逐步扩展的项目</p></li></ul><img src="https://cdn.publa.app/uploads/2026/04/30/publa-02.png" width="1280" data-align="center" /><p></p><h2>最后</h2><p>Publa 的定位很明确：做一个简单、现代、可长期使用的博客系统。它不会试图变成一个庞大的内容平台，也不会把简单的写作流程变复杂。</p><p>Publa 正在持续开发和完善中，如果你在使用过程中发现了问题，欢迎在 GitHub 上<a target="_blank" rel="noopener noreferrer nofollow" href="https://github.com/oldj/publa">提 issue</a>！</p><p>希望 <a target="_blank" rel="noopener noreferrer nofollow" href="https://publa.app">Publa</a> 能帮你更好地完成博客写作！❤️</p>]]></description>
        </item>
    </channel>
</rss>