Publii | 开源静态网站 CMS – 本地创作与多平台发布

Publii 是由 TidyCustoms 维护的开源桌面静态网站 CMS。它把文章、作者、标签、媒体、主题和发布配置保存在本地,通过图形界面生成可直接部署的静态文件,适合希望保留 CMS 编辑体验、又不想在公开服务器上运行数据库、PHP 与管理后台的个人和小型团队。

Publii 开源静态网站 CMS 封面

截至 2026 年 9 月 2 日核对,仓库当前版本为 0.47.9(build 17481),最近一次正式 Release 发布于 2026 年 7 月 23 日,之后主分支仍有修复提交。项目采用 GPL-3.0 许可证,并持续提供 Windows、macOS 与 64 位 Linux 安装包;具体系统下限和安装格式应以当期官方下载页为准。

Publii 把 CMS 后台搬到桌面,再输出纯静态文件

Publii 与服务器端 CMS 的关键差别不是“有没有编辑器”,而是内容管理与访客访问发生在两个不同环境:站长在桌面应用中维护内容,发布时生成 HTML、CSS、图片与脚本等静态文件;访客访问的是生成结果,公开服务器不需要运行 Publii 自身的数据库、PHP 或管理面板。

这种模式减少了服务器端动态组件和公开登录入口带来的维护面,但并不等于网站天然绝对安全。域名、托管账号、对象存储权限、第三方脚本、表单服务和部署凭据仍需要单独保护。与此同时,评论、会员、实时库存、复杂检索等动态能力通常要依赖外部服务或自行开发,不能把静态输出理解成完整替代所有 WordPress 插件生态。

内容创作不只限于 Markdown

项目同时提供区块编辑器、经典 WYSIWYG 编辑器和 Markdown 路径,能够管理文章、作者、标签、媒体,并在内容中加入图库、视频、表格、代码片段与语法高亮。对不熟悉命令行的内容作者,这比从模板文件和构建脚本开始更接近传统 CMS;对开发者,主题层又保留了 Handlebars 模板与前端代码的可修改空间。

Publii 还在生成阶段处理元数据、XML Sitemap、结构化数据、Open Graph、响应式图片、懒加载、压缩与 WebP 转换等常见发布事项。这里更准确的理解是“提供可配置的 SEO 与性能基础设施”,而不是保证任何网站自动获得排名或固定性能分数;最终结果仍取决于主题、图片、第三方脚本、内容质量和托管环境。

发布目标覆盖传统服务器与托管平台

完成站点配置后,Publii 可以把生成结果同步到 HTTP/HTTPS 服务器、FTP/SFTP,也支持 GitHub Pages、GitLab Pages、Netlify、Amazon S3、Google Cloud 与手动 ZIP 导出。它的价值在于把“写内容、预览、生成、同步”收进一个桌面工作流,而不是把用户锁进某一家托管服务。

  • 个人博客和作品集:内容主要由文章、图片和页面组成,更新频率可控,不依赖实时数据库查询。
  • 文档与小型内容站:希望用图形编辑器维护,又需要将最终文件交给 Git、对象存储或静态托管平台。
  • 离线编辑场景:本地创建和修改内容,联网后再同步;但远程发布、更新检查和外部资源仍需要网络。

源码仓库如何组织,二次开发门槛在哪里

仓库根目录的 app/ 保存桌面应用主体,build/ 负责打包与安装构建,internal-tools/ 放置内部工具,根级 package.json 和 Webpack、Gulp 配置串联开发流程。GitHub 将 HTML 识别为仓库第一语言,但这包含大量模板与前端资源,并不代表项目只是一个 HTML 模板;当前包配置同时使用 Electron 41.10.2、Vue 2.6.14、Webpack 5、Sass 与 Handlebars。

GetPublii Publii GitHub 仓库文件与项目概览
Publii 主仓库包含桌面应用、构建脚本、安装资源与前端模板;截图核对于 2026 年 9 月 2 日。

官方 Wiki 给出的基本顺序是先在根目录与 app/ 分别安装依赖,运行 npm run dev 编译,再执行 npm run prepare-editor,最后用 npm run build 启动应用。Windows 还涉及原生构建工具,macOS 需要 Xcode;keytarsharpbetter-sqlite3 等原生模块在 Node.js、Electron 或架构不匹配时可能需要重新编译。

构建文档存在一个需要先核对的版本差异:当前 .nvmrc 指向 Node.js 22.20.0,而 2026 年 3 月更新的 Wiki 仍写 Node.js 20.*。准备贡献或制作安装包时,不宜只照抄 Wiki;应优先查看目标分支的 .nvmrc、锁文件、Electron 版本和近期提交,再在隔离环境中完成依赖安装与测试。

GPLv3 对使用与再分发意味着什么

GPL-3.0 允许运行、研究和修改 Publii,也允许在满足许可证条件的前提下再分发源码或构建产物。若向他人分发修改版或二进制版本,需要关注相应源码提供、许可证与版权声明、修改标注,以及整体作品的 GPLv3 兼容要求;“开源”不等于可以去掉许可声明、把修改版直接改成闭源,也不自动授权使用 Publii 名称和品牌素材冒充官方产品。

单纯用 Publii 生成自己的网站,不会因为工具采用 GPLv3 就自动让网站文章、图片或普通生成内容变成 GPLv3 项目;但如果你分发 Publii 本身、修改后的应用或包含其代码的衍生程序,应结合实际发布方式阅读完整许可证,必要时寻求专业法律意见。

适合谁,以及不适合哪些项目

Publii 更适合内容结构相对稳定、重视本地掌控和可移植部署,同时希望让非开发者直接参与写作的博客、作品集、文档站和小型官网。与纯命令行静态站点生成器相比,它降低了内容编辑和同步门槛;与服务器端 CMS 相比,它把生成过程放回本地,减少公开站点的动态依赖。

如果项目依赖多人实时协作、浏览器后台、用户注册、订单与库存、复杂权限、实时搜索或大量服务端插件,Publii 可能需要较多外部集成,甚至不是合适的主系统。另一个实际限制是内容库与部署凭据位于本地工作环境:团队需要自行规划备份、设备迁移、凭据管理和协作约定,不能把“本地优先”误解成“无需运维”。

官方入口

  • GitHub 仓库:https://github.com/GetPublii/Publii
  • 官方网站:https://getpublii.com/
  • 官方下载:https://getpublii.com/download/
  • 用户文档:https://getpublii.com/docs/
  • 开发者文档:https://getpublii.com/dev/
  • 构建 Wiki:https://github.com/GetPublii/Publii/wiki/App-build-process
  • GPLv3 许可证:https://github.com/GetPublii/Publii/blob/master/LICENSE
Publii | 开源静态网站 CMS - 本地创作与多平台发布 - 杂货喵
Publii | 开源静态网站 CMS – 本地创作与多平台发布
此内容为免费资源,请登录后查看
M币0
发布平台GitHub
编码语言HTML/Vue/JavaScript
支持系统Windows/macOS/Linux
项目版本v0.47.9
开源许可GPL-3.0
运行方式桌面端
免费资源
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像 - 杂货喵
欢迎您留下宝贵的见解!
提交
头像 - 杂货喵

昵称

取消
昵称图片快捷回复

    暂无评论内容