文章目录Cactus用 Django 模板写静态网站它解决什么问题核心能力插件与扩展其他细节上手门槛适合谁用Cactus用 Django 模板写静态网站Cactus 是一个用 Python 编写的静态网站生成器核心思路是把 Django 的模板系统搬到静态站点构建场景。这个项目在 GitHub 上有 3,471 个 Star在静态生成器赛道里属于稳扎稳打的一类工具。它解决什么问题很多设计师和技术背景的产品经理需要搭网站但不想碰完整的服务端框架也不愿意手动配置服务器和部署流程。Cactus 的设计目标就是这个群体提供模板复用能力同时保持部署简单。它的工作流分三步用 Django 模板写页面本地预览调试输出纯静态文件后直接上传。因为最终产物是静态 HTML托管成本很低访问速度也有保障。Cactus 的作者最初是在 Sofa 公司内部推这个工具让设计师能独立建站。核心能力Cactus 内置了一个本地开发服务器运行 cactus serve 后会在 localhost:8000 启动预览。文件保存时自动重建项目并刷新浏览器开发反馈比较及时。部署方面它原生支持推送到 Amazon S3执行 cactus deploy 即可。AWS 密钥会存储在系统 Keychain 或同类安全服务里后续部署不用再输入。部署时还会自动压缩文本文件并加上缓存头。插件与扩展插件系统是 Cactus 比较突出的设计。博客、资源优化、版本管理等功能都以插件形式提供启用时只需把文件名中的 .disabled 去掉。博客插件支持从页面元数据读取标题、作者和日期生成文章列表和归档。页面元数据默认用简单键值对格式也支持 YAML 块可以声明数组和对象模板中直接遍历引用。Asset pipeline 对前端工作流很实用。开启 fingerprinting 后JS 和 CSS 文件会被加上内容哈希方便配置 CDN 长缓存。压缩功能默认集成 YUI 和 Closure compiler也能在插件目录里自定义优化器。其他细节URL 处理上Cactus 支持 pretty URLs 模式把 /about.html 渲染成 /about/index.html对外显示为 /about/。开启时记得在模板里加 canonical 标签避免搜索引擎判定为重复内容。域名配置也能自动化。只要 S3 bucket 名称是合法域名运行 cactus domain:setup 就能获取对应的 nameserver 记录省去手动配置步骤。站点地图和 robots.txt 是自动生成的基于 pages 目录下的文件结构。如果要输出绝对路径在 config.json 里填上 site-url 即可。上手门槛安装用 pip 或 easy_install 都可以。创建项目执行 cactus create [path]生成的目录结构很清晰pages 放页面文件templates 放 Django 模板static 放图片和样式plugins 放插件.build 是最终输出目录。模板语法就是标准的 Django 模板变量用双大括号标签用百分号支持模板继承。有过 Django 经验的人可以直接上手。页面之间的链接用 {% url %} 和 {% static %} 标签相对路径自动处理。适合谁用Cactus 的目标用户很明确懂技术但不希望折腾服务器配置的人。公司官网、个人作品集、支持页面、博客这些场景它都能覆盖。官方给出的案例包括 Cactus 自己的官网、Framer 的网站以及 Crate 数据库的文档站。如果你已经在 Django 生态里工作Cactus 是个顺手的静态站点方案。它的代码量不大插件机制也给二次开发留出了空间。里工作Cactus 是个顺手的静态站点方案。它的代码量不大插件机制也给二次开发留出了空间。
Cactus:用 Django 模板写静态网站
文章目录Cactus用 Django 模板写静态网站它解决什么问题核心能力插件与扩展其他细节上手门槛适合谁用Cactus用 Django 模板写静态网站Cactus 是一个用 Python 编写的静态网站生成器核心思路是把 Django 的模板系统搬到静态站点构建场景。这个项目在 GitHub 上有 3,471 个 Star在静态生成器赛道里属于稳扎稳打的一类工具。它解决什么问题很多设计师和技术背景的产品经理需要搭网站但不想碰完整的服务端框架也不愿意手动配置服务器和部署流程。Cactus 的设计目标就是这个群体提供模板复用能力同时保持部署简单。它的工作流分三步用 Django 模板写页面本地预览调试输出纯静态文件后直接上传。因为最终产物是静态 HTML托管成本很低访问速度也有保障。Cactus 的作者最初是在 Sofa 公司内部推这个工具让设计师能独立建站。核心能力Cactus 内置了一个本地开发服务器运行 cactus serve 后会在 localhost:8000 启动预览。文件保存时自动重建项目并刷新浏览器开发反馈比较及时。部署方面它原生支持推送到 Amazon S3执行 cactus deploy 即可。AWS 密钥会存储在系统 Keychain 或同类安全服务里后续部署不用再输入。部署时还会自动压缩文本文件并加上缓存头。插件与扩展插件系统是 Cactus 比较突出的设计。博客、资源优化、版本管理等功能都以插件形式提供启用时只需把文件名中的 .disabled 去掉。博客插件支持从页面元数据读取标题、作者和日期生成文章列表和归档。页面元数据默认用简单键值对格式也支持 YAML 块可以声明数组和对象模板中直接遍历引用。Asset pipeline 对前端工作流很实用。开启 fingerprinting 后JS 和 CSS 文件会被加上内容哈希方便配置 CDN 长缓存。压缩功能默认集成 YUI 和 Closure compiler也能在插件目录里自定义优化器。其他细节URL 处理上Cactus 支持 pretty URLs 模式把 /about.html 渲染成 /about/index.html对外显示为 /about/。开启时记得在模板里加 canonical 标签避免搜索引擎判定为重复内容。域名配置也能自动化。只要 S3 bucket 名称是合法域名运行 cactus domain:setup 就能获取对应的 nameserver 记录省去手动配置步骤。站点地图和 robots.txt 是自动生成的基于 pages 目录下的文件结构。如果要输出绝对路径在 config.json 里填上 site-url 即可。上手门槛安装用 pip 或 easy_install 都可以。创建项目执行 cactus create [path]生成的目录结构很清晰pages 放页面文件templates 放 Django 模板static 放图片和样式plugins 放插件.build 是最终输出目录。模板语法就是标准的 Django 模板变量用双大括号标签用百分号支持模板继承。有过 Django 经验的人可以直接上手。页面之间的链接用 {% url %} 和 {% static %} 标签相对路径自动处理。适合谁用Cactus 的目标用户很明确懂技术但不希望折腾服务器配置的人。公司官网、个人作品集、支持页面、博客这些场景它都能覆盖。官方给出的案例包括 Cactus 自己的官网、Framer 的网站以及 Crate 数据库的文档站。如果你已经在 Django 生态里工作Cactus 是个顺手的静态站点方案。它的代码量不大插件机制也给二次开发留出了空间。里工作Cactus 是个顺手的静态站点方案。它的代码量不大插件机制也给二次开发留出了空间。