Publii 是 Windows、macOS 和 Linux 上的开源桌面静态网站 CMS,采用 GPLv3 许可。你在本地应用里写文章、整理媒体和设置主题,再生成静态文件发布到服务器或托管平台。它适合个人博客、作品集和内容相对稳定的小型网站,保留图形编辑界面,也减少公开站点对动态后台的依赖。

内容库和公开网站分处两个位置:内容库在自己的电脑上,访客看的是发布出去的文件。公开服务器不用运行 Publii 的编辑后台,但本地数据、部署凭据和发布操作仍需要有人维护。
保存文章和更新网站,是两次动作
- 在桌面应用里创建站点,设置文章、页面、作者、标签和导航,选择合适的主题。
- 用区块、经典 WYSIWYG 或 Markdown 编辑器写内容,在本地预览生成效果。
- 按实际托管平台填写 Server 配置,核对正式域名、目录和访问凭据。
- 点击同步,生成并上传静态文件。之后在本地修改内容,需要再次同步,线上才会更新。
第一次同步需要生成和上传整个站点,后续同步会检查变化。保存了文章却在网址上看不到更新时,先确认是否同步成功,再判断缓存和部署目标;本地预览与线上访问不是同一个结果。
访客看见的文件,能独立放到哪些地方
README 列出 Netlify、Amazon S3、GitHub Pages、Google Cloud、SFTP 等发布方式,用户文档还提供 GitLab Pages、Git 仓库和其他服务器配置。最终网站以生成的文件运行,迁换托管位置不必连同 Publii 编辑程序一起搬到服务器。
迁移托管位置时,可以带走发布结果。线上静态文件不能代替本地内容库备份。它们保留的是浏览页面,不是完整的文章编辑状态、主题配置和发布凭据。更换电脑前,先备份可继续编辑的站点资料,再验证恢复与同步。
本地写作和修改可以离线进行,发布到远端、获取更新及使用外部服务则需要网络。旅行或网络不稳定时,可以先积累内容,联网后再同步;协作时还要约定谁保存主内容库、谁负责发布,避免两台电脑各自维护不同版本。
先看网站需要什么,再决定要不要静态输出
- 文章、图片和页面为主:博客、作品集和介绍网站比较符合这种工作方式。主题负责呈现,编辑器负责内容。
- 需要评论、搜索或表单:可以结合插件或外部服务,核对其数据来源、费用和隐私条件。静态页面本身不会提供一个通用动态数据库。
- 需要实时订单、库存、会员或复杂权限:这些能力需要额外后端或其他系统承担,不能把部署纯静态文件等同于拥有完整业务平台。
- 需要多人同时在浏览器里编辑:先评估本地内容库的交接方式;桌面编辑和实时多人后台是不同协作模式。
Publii 有元数据、站点地图、社交分享和图片处理等设置,能帮助准备发布所需的基础信息。页面能否加载快、内容能否被检索到,还取决于主题、图片、第三方脚本与内容本身,不能只靠换 CMS 保证结果。
改主题和改桌面应用,门槛差在哪里
调整页面样式,从主题开始
只需要改变文章页面、列表和导航呈现时,先看主题及 Handlebars 模板,不必先重编桌面程序。保留一份原主题或自定义改动记录,升级时才能核对模板变化。应用的 GPLv3 许可也不能代替每个主题、插件和图片素材的使用条件。
修改应用功能,再进入源码构建
仓库 app/ 包含桌面应用主体,build/ 包含构建相关资源。当前代码使用 Electron、Vue、Webpack 和原生 Node 模块,仓库被识别为 HTML 第一语言,不代表下载后只改 HTML 就能完成应用开发。

官方 Wiki 的顺序是根目录和 app/ 分别安装依赖,运行开发编译,再准备编辑器资源并启动应用。npm run dev 需要在另一个终端保持运行。当前根级脚本还提供 Windows 的 prepare-editor:win,不能把其他平台的 Shell 命令直接照搬。
版本要求要按目标分支核对:当前 .nvmrc 写的是 Node.js v22.20.0,Wiki 仍写 Node.js 20.*。涉及 keytar、sharp、better-sqlite3 时,系统、架构和 Electron 版本会影响原生模块构建。普通建站用户用官方安装包即可,这些是修改应用和制作构建产物时的条件。
Publii 程序代码采用 GPLv3;准备分发修改后的应用时,阅读完整许可和所包含组件的条件。自己的网站文章、图片、主题与第三方服务也要分别核对授权,不能把“工具开源”理解成所有发布素材都可随意使用。
- 官方网站与安装包:
https://getpublii.com/download/ - 用户文档:
https://getpublii.com/docs/ - 同步说明:
https://getpublii.com/docs/syncing-your-server.html - 源码仓库:
https://github.com/GetPublii/Publii - 应用构建 Wiki:
https://github.com/GetPublii/Publii/wiki/App-build-process














暂无评论内容