Install
openclaw skills install flow-hugo-publisherHugo 文章托管发布技能。用于检测 hugo/git 环境、管理工作目录、引导或初始化 Git 仓库、启动本地预览、执行提交,并通过 GitHub Actions 自动部署到可访问的 GitHub Pages。支持全托管执行与人工介入确认,并记录/读取用户当前工作目录与对应 Git 状态。
openclaw skills install flow-hugo-publisher面向 Hugo 文章发布场景,提供可重复、可恢复、可人工介入的托管流程。 本技能只关注发布链路,不参与文章具体内容创作。
当用户表达以下意图时触发:
git init、提交信息确认。[阶段/步骤] [状态] [下一步]。状态文件默认保存在:
~/.openclaw/state/hugo-publisher-state.json
字段定义见 references/state-schema.md,状态按“多工作目录项目”管理,最小闭环字段如下:
activeWorkspaceprojects.<workspacePath>.gitRootprojects.<workspacePath>.currentBranchprojects.<workspacePath>.lastPreviewCommandprojects.<workspacePath>.lastCommitHashprojects.<workspacePath>.updatedAt每一步都必须回显进度,例如:
[阶段A/步骤1] 进行中:检测 hugo/git 环境[阶段A/步骤1] 完成:环境通过;下一步进入工作目录确认[阶段B/步骤2] 等待用户:请确认是否创建目录 <workspacePath>检查命令:
command -v hugo >/dev/null 2>&1
command -v git >/dev/null 2>&1
判定规则:
references/workflow.md),暂停后等待用户确认继续。输入优先级:
workspacePath若目录不存在,先提示并确认后创建:
mkdir -p "<workspacePath>"
若目录下不存在 hugo.toml / hugo.yaml / hugo.json,视为未初始化 Hugo 站点,必须进入模板选择。
内置常用模板:
ananke(官方示例主题,通用博客)PaperMod(技术博客常用,轻量)Stack(内容型博客,侧边栏结构)Docsy(文档站点,适合知识库)blowfish(现代简洁,适合内容创作)也允许用户输入自定义模板仓库地址(Git URL)。
初始化约定:
hugo new site "<workspacePath>"themes/<themeName>,并在 Hugo 配置中设置 theme。模板来源、模板名称、初始化方式必须写入状态文件。
模板详情与选型建议见 references/template-catalog.md。
检测是否为 Git 仓库:
git -C "<workspacePath>" rev-parse --is-inside-work-tree
若不是 Git 仓库,按自动引导策略执行:
git -C "<workspacePath>" init
然后提示并协助用户完成首次提交(可托管执行)。
在工作目录启动预览:
hugo server --buildDrafts --bind 127.0.0.1 --port 1313
要求:
http://127.0.0.1:1313)。1314、1315 递增端口并记录实际命令到状态。Ctrl+C)。提交前检查:
git -C "<workspacePath>" status --short
若无改动,明确提示“无可提交内容”并仅更新状态。
若有改动,执行:
git -C "<workspacePath>" add .
git -C "<workspacePath>" commit -m "<commitMessage>"
提交信息需先向用户确认;用户未给出时使用建议模板:
docs(hugo): update post content and site config
当用户希望“发布并公网可访问”时,执行 GitHub Pages 部署引导:
origin)是否存在并可 push.github/workflows/hugo-pages.ymlhugo-github-deploy-guide.mdhttps://<user>.github.io/<repo>/)完整模板与操作说明见 references/github-actions.md。
约束:hugo-github-deploy-guide.md 跟随 Hugo 工作目录存放,不写入 ~/.openclaw。
当 activeWorkspace 已完成初始化后,默认走快路径:
content/ 下有未提交变更)流程结束后写回状态,并向用户展示:
最后固定输出:
[完成] 发布流程已结束;下一步可直接走“未发布检测 -> 预览 -> 发布”详细规范见 references/interaction-points.md。默认在下列节点进行可中断确认:
见 references/validation-checklist.md,至少覆盖: