这个项目能做什么
escaping 是一个具有强见解(opinionated)的个人站点生成器,其核心理念是将 GitHub Issues 视为确定性编译的输入而非即时渲染的数据。它通过内容解析、路由分配、HTML 净化和产物校验等分阶段流水线,将 Issues 编译为完整的静态网站。
主要能力包括:
1. 内容管理:支持从带标签和 front matter 的 GitHub Issues 中提取 Blog、Ideas 和 About 页面内容。
2. 站点模型:统一生成首页、归档页、详情页、项目页、标签页以及 Atom feed、sitemap 和 robots.txt 等 SEO 产物。
3. 主题系统:内置多种主题(如 geoqiao.me, Escape1, Escape2, Quiet),并支持加载本地自定义主题。
4. 安全机制:包含 Markdown HTML 白名单、严格的 URL 校验、输出目录限制以及 Jinja 自动转义。
5. 发布流程:采用分阶段发布机制,新产物在 staging 环境验证通过后,通过目录重命名方式替换正式输出,支持回滚。
该工具要求 Python 3.11+ 环境,并建议使用 uv 进行依赖管理。它将生成器逻辑与站点配置分离,允许用户在独立仓库中维护站点配置和内容。
评论
0 评分人数达到10人后显示
登录后参与讨论。