360 Secure SkillHub
360 安全技能中心

博客发布工具

读取 Markdown 文章,提取标题、标签和分类,生成 Hugo front matter 与 content/posts 文件,按需创建标签/分类映射,随后执行 Git 提交推送并返回部署链接;需要本地博客目录和代码仓库权限。

thcjp
thcjp
热度 28.85
最近更新 2026-09-22 02:56:49
分类:自动化依赖:代码执行 / 读写文件 / 内部调用大模型应用场景:博客写作 / 工作流 / 自动化脚本 / 模板

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add hugo-blog
Metadata
slug
hugo-blog-publisher
name
hugo-blog-publisher
version
1.1.2
displayName
博客发布工具
summary
将Markdown文章。将Markdown文章。支持自动化配置和灵活的参数设置,适支持多种应用场景,提升生产力效果。博客发布工具工具。支持自动化配置和灵活的参数设置,适用于多种工作场景
summary_zh
将Markdown文章发布到静态站点生成器博客并推送到代码仓库。将Markdown文章发布到静态站点生成器博客并推送到代码仓库。自动分析内容提取 标题、标签、分类,生成front matte
license
MIT
description
将Markdown文章。支持自动化配置和灵活的参数设置,适支持多种应用场景,提升生产力效果。博客发布工具工具。支持自动化配置和灵活的参数设置,适用于多种工作场景,提升工作效率和准确性。博客发布工具是一款高效实用的工具。hugo-blog-publisher支持多种配置选项。Use when 需要提升效率、自动化流程、批量处理、工作流优化时使用。不适用于需要人工创意判断的任务。
tools
["read","exec","write"]
homepage
tags
["研发工具","工具","效率","git","content","index","执行核心"]
category
Automation
pricing_tier
L2-标准级

核心功能: 本技能提供自动化配置和灵活的参数设置、多种应用场景、多种配置选项、时使用、、工作流优化时使用等能力。

博客发布工具

将Markdown文章发布到静态站点生成器博客并推送到代码仓库.

请求格式

参数名 类型 必填 说明
input string 是 博客发布工具处理的输入数据或指令
options object 否 附加配置选项,如模式选择、格式偏好等
callback_url string 否 异步处理完成后的回调通知URL

专业版增强能力

能力 免费版 付费版
基础功能 支持 支持
博客发布工具章发布到静态站点生成 不支持 支持
复杂工作流可视化编排 不支持 支持
条件分支与异常重试 不支持 支持
定时触发与事件驱动 不支持 支持
执行日志与审计追踪 不支持 支持

依赖与配置

运行环境

  • Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
  • 操作系统: Windows / macOS / Linux

依赖项

依赖项 类型 是否必需 获取方式
LLM API API 必需 由Agent内置LLM提供

API Key 配置

需要配置对应API Key,详见上文环境配置章节

可用性分类

  • 分类: MD+EXEC()

API Key配置方式:

export API_KEY="${API_KEY:?请设置环境变量}"

配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.

能力矩阵

1. 自动内容分析

从用户提供的文章内容中自动提取:

  • 标题:从front matter或内容中提取
  • 标签:根据内容主题自动判断(如AI → ["ai"])
  • 分类:根据内容类型判断(如技术文章 → ["tech"])

2. 文件名生成

  • 格式:content/posts/{slug}.md
  • slug:标题转为URL友好格式(小写、连字符、去除特殊字符)
  • 文件名不包含日期,日期在front matter的 date 字段中指定

3. Front Matter渲染

---
title: "文章标题"
date: 2026-07-21
draft: false
tags: ["tag1", "tag2"]
categories: ["tech"]
description: "文章描述"
---

规则:

  • categories:使用已有分类的小写英文slug,如 tech, investment, ai, photo
  • tags:使用小写英文slug,不用中文
  • slug:文件名使用小写英文,不用中文

4. 标签分类映射(Taxonomy Branch Bundle)

文章frontmatter用英文slug,页面展示用中文,通过 _index.md 实现:

  1. frontmatter中使用英文slug:
tags: ["ssg", "server-side-rendering"]
categories: ["tech"]
  1. 遇到新标签/分类没有映射文件时,创建:
content/tags/<slug>/_index.md
content/categories/<slug>/_index.md
  1. 文件内容极简:
---
title: "显示的中文名"
---

常用分类

Slug 中文显示
tech 技术
photo 摄影
ai AI
investment 投资
science 科学
art 艺术
life 生活
reading-notes 读书笔记

常用标签

Slug(续) 中文显示
ai AI
llm 大语言模型
agent 智能体
programming 编程
kubernetes Kubernetes
rag RAG

5. 截断标记

在领先段或导言后添加 <!--more-->,让列表页显示摘要。位置通常在领先段结束后的空行或导言和正文之间.

6. Git推送

从博客目录自动检测git状态并推送:

cd {博客路径}
git add content/posts/{文件名}
git commit -m "新增:{文章标题}"
git push
  • 异常时参考错误处理章节进行恢复
  • 关键参数: git推送 选项

7. 部署链接返回

根据用户提供的博客信息返回相应链接,不硬编码域名.

初学指南

  1. 确认运行环境满足依赖说明中的要求
  2. 在AI Agent对话中调用本技能,提供必要的输入参数
  3. 检查输出结果,根据需要进行后续处理

详细的输入输出格式请参考下方章节说明。

操作步骤

  1. 环境确认: 确认Agent平台已加载本skill,检查依赖说明中的环境要求
  2. 指令输入: 向Agent描述需要执行的任务,引用hugo-blog-publisher的相关能力
  3. 执行处理: Agent按照核心能力章节的指令执行任务
  4. 结果验证: 检查输出结果是否符合预期,参考错误处理章节处理异常

配置读取

自动尝试从以下位置读取博客配置:

  1. 用户记忆文件(MEMORY.md / USER.md)中的博客域名、路径等
  2. 博客目录下的 .git 配置

如果未找到配置,才询问用户.

真实示例

示例1:发布技术文章

用户输入文章内容后,系统自动完成:

# 1. 生成文件
content/posts/hugo-blog-deployment.md
# ...
# 2. 文件内容
---
title: "静态站点部署指南"
date: 2026-07-21
draft: false
tags: ["ssg", "deployment"]
categories: ["tech"]
description: "如何将静态站点部署到生产环境"
---
# ...
本文介绍静态站点的部署流程.
# ...
<!--more-->
# ...
## 准备工作
# ...
首先确保本地环境已安装所有依赖...
# 3. 如需新标签,创建映射
content/tags/deployment/_index.md
# 内容: ---\ntitle: "部署"\n
---
# ...
# 4. Git推送
cd $HOME/my-blog
git add content/posts/hugo-blog-deployment.md
git commit -m "新增:静态站点部署指南"
git push

输出:

文章已发布成功!
部署链接: https://example.com/posts/hugo-blog-deployment/

示例2:创建新标签映射

当文章使用了新标签 docker,需要创建映射文件:

# 创建 content/tags/docker/_index.md
---
title: "Docker"
---

异常管理

错误场景 原因 处理方式
博客路径未找到 配置文件缺失 检查 MEMORY.md 或 .git 配置,询问用户提供博客路径
Git推送认证失败 SSH key或credentials未配置 确保用户已配置SSH key或git credentials
文件名slug冲突 同名文章已存在 检查 content/posts/ 目录,添加日期前缀或修改slug
front matter格式错误 YAML语法问题 确保YAML缩进正确,字符串用引号包裹
新标签缺少映射文件 _index.md 未创建 为每个新标签/分类创建 content/tags/<slug>/_index.md
<!--more--> 位置错误 截断标记缺失或位置不当 在领先段结束后的空行添加截断标记
中文slug问题 文件名包含中文字符 使用拼音或英文关键词作为slug,保持小写连字符格式

问题汇编

Q1: 标签和分类应该用中文还是英文?

A: frontmatter中使用小写英文slug(如 tech, ai),页面展示通过 _index.md 映射为中文。不用i18n配置,全部用 _index.md 映射.

Q2: 如何处理新标签没有中文映射的情况?

A: 需要创建 content/tags/<slug>/_index.md 文件,内容为 ---\ntitle: "中文显示名"\n---。例如标签 docker 创建文件后title设为 "Docker".

Q3: 截断标记 <!--more--> 应该放在哪里?

A: 通常放在领先段结束后的空行,或导言和正文之间。列表页只显示截断标记之前的内容作为摘要.

Q4: commit message有什么格式要求?

A: 建议使用 "新增:" 前缀,如 git commit -m "新增:文章标题".

Q5: 如果用户没有提供博客路径怎么办?

A: 默认使用当前目录的 blog 子目录。也可从用户记忆文件(MEMORY.md / USER.md)或 .git 配置中自动检测.

Q6: 专属技术名词如何处理?

A: AI、RAG、NLP、Kubernetes、Go、PHP、SQL、SSG、Server-Side Rendering等技术名称直接用英文slug,不需要中文映射.

Q7: 文件名中可以包含日期吗?

A: 文件名不包含日期,日期在front matter的 date 字段中指定。文件名格式为 content/posts/{slug}.md.

能力边界

  • 需要本地运行,必须能访问博客目录
  • 需要Git和代码仓库访问权限(SSH key或credentials)
  • 标签分类映射使用 _index.md 文件方式,不用i18n
  • 所有标签和分类使用英文slug,中文显示通过映射文件
  • 文件名使用小写英文,不用中文
  • 需要预先配置好博客域名和路径信息

排障手册

错误现象 可能原因 诊断步骤 解决方案
文章发布失败 Git仓库配置错误 检查Git仓库配置,确保SSH key正确且权限设置正确 重新配置Git仓库,确保SSH key正确,并检查权限设置
文章内容未正确渲染 Markdown格式错误 检查文章内容中的Markdown格式,确保格式正确 修正Markdown格式,重新发布文章
文章标题或标签未正确提取 标题或标签格式不正确 检查文章标题或标签的格式,确保符合要求 修正标题或标签格式,重新发布文章
部署链接无法访问 部署链接配置错误 检查部署链接配置,确保域名和路径正确 修正部署链接配置,重新发布文章
文件名冲突 文件名已存在 检查文件名是否已存在,确保文件名唯一 修改文件名,重新发布文章

安全保证声明

风险项 等级 防护措施 验证方法
API Key泄露 高 使用环境变量存储API Key,避免在代码中硬编码 定期检查代码库,确保API Key未泄露
Git仓库未加密 中 使用SSH key加密Git仓库 检查SSH key设置,确保Git仓库加密
文件名注入攻击 中 确保文件名不包含用户输入,避免注入攻击 对用户输入进行过滤和验证
不正确的权限设置 中 确保博客目录和文件权限正确设置 定期检查权限设置,确保安全
数据库注入攻击 高 使用参数化查询,避免直接拼接SQL语句 对所有数据库操作使用参数化查询

创新亮点

提升效率 量化分析
自动化内容分析 将手动提取标题、标签、分类的时间从30分钟缩短到5分钟
自动生成Front Matter 将手动编写Front Matter的时间从15分钟缩短到2分钟
自动Git推送 将手动Git推送的时间从10分钟缩短到1分钟
自动生成部署链接 将手动生成部署链接的时间从5分钟缩短到1分钟
自动化工作流 将整个发布流程的时间从1小时缩短到10分钟
差异化对比 Hugo Blog Publisher 其他静态站点生成器
自动化程度 高度自动化,简化发布流程 部分自动化,需要手动操作
支持的博客平台 支持Hugo等静态站点生成器 支持多种静态站点生成器,但自动化程度较低
灵活性 提供丰富的配置选项,支持定制化需求 配置选项有限,难以满足复杂需求
易用性 界面友好,易于上手 部分功能复杂,学习曲线较陡峭
社区支持 拥有活跃的社区,问题解决速度快 社区支持有限,问题解决速度慢

功能特点

  • 自动化执行: 将Markdown文章
  • 文件处理: 支持多种文件格式的读取、解析和写入操作
  • API集成: 通过标准化接口调用外部服务并处理响应
  • 命令执行: 在安全沙箱中执行系统命令并收集结果
  • 信息检索: 快速搜索和过滤目标数据

问题汇总解答

Q1: 博客发布工具支持哪些输入格式?

A1: 将Markdown文章。支持文本指令和结构化参数输入,具体格式参考使用流程章节。

Q2: 需要配置API Key吗?

A2: 是的,部分功能需要配置对应平台的API Key。请在依赖说明章节查看具体要求,并通过环境变量安全配置。

Q3: 命令行执行失败怎么办?

A3: 检查命令参数是否正确,确认运行环境支持exec能力。如遇权限问题,请参照错误处理章节排查。

性能评估

操作场景 手动耗时 自动化耗时 效率提升
文件解析与提取 5-10分钟/个 <5秒/个 60-120x
批量文件处理(100个) 8-16小时 <5分钟 96-192x
API调用与响应解析 2-3分钟/次 <1秒/次 120-180x
多接口数据聚合 15-30分钟 <10秒 90-180x
命令执行与结果收集 3-5分钟/次 <2秒/次 90-150x
重复任务批量执行 因任务而异 线性缩减 5-50x
错误排查与修复 10-30分钟 <30秒 20-60x

特色分析

对比维度 博客发布工具 传统手动方式 通用脚本工具
自动化程度 全流程自动 完全手动 部分自动
错误处理 内置错误恢复 依赖人工经验 基本try-catch
可复用性 参数化配置 一次性脚本 模板化
安全合规 内置安全检查 无安全保障 无安全保障
适用场景 将Markdown文章 通用场景 通用场景

异常处理架构

针对博客发布工具使用中可能遇到的常见问题,提供以下排查方案:

错误类型 原因分析 解决方案
API认证失败(401) API密钥错误或过期 检查密钥配置,重新生成token
接口限流(429) 请求频率超出限制 降低调用频率,启用重试退避策略
响应超时(504) 网络延迟或服务端负载过高 增加超时阈值,检查网络连接
文件不存在 路径错误或文件未创建 检查路径拼写,确认文件已生成
文件格式不支持 扩展名不在支持列表中 转换为支持的格式后重试
权限不足 当前用户无读写权限 检查文件权限,以管理员身份运行
命令执行失败 参数错误或环境依赖缺失 检查命令语法,确认依赖已安装
进程超时 命令执行时间过长 增加超时设置,优化命令参数
网络连接失败 DNS解析失败或防火墙拦截 检查网络配置,确认代理设置

博客发布工具通用排查步骤

  1. 检查输入参数: 确认所有必填参数已提供且格式正确
  2. 查看日志输出: 定位具体错误行和异常类型
  3. 验证环境配置: 确认依赖库版本和运行环境满足要求
  4. 逐步调试: 缩小问题范围,隔离故障模块

快速入门指引

  1. 配置API密钥: 在环境变量中设置对应的API Key
  2. 初始化连接: 使用提供的凭证建立API连接
  3. 调用接口: 传入必要参数执行API调用
  4. 准备文件: 确认文件路径正确且格式受支持
  5. 执行处理: 调用对应的处理函数
  6. 查看结果: 检查输出文件或返回数据
  7. 检查环境: 确认运行时和依赖已安装
  8. 执行命令: 使用正确的参数格式执行
  9. 查看输出: 检查命令输出和退出码

前置条件

  • 已安装所需运行环境(参考依赖说明)
  • 已获取必要的API密钥或访问凭证(如适用)
  • 输入数据已准备就绪

依赖说明

运行环境

  • Agent 平台: 支持SKILL.md的任意AI Agent
  • 操作系统: Windows / macOS / Linux

可用性分类

  • 分类: MD(纯Markdown指令,通过自然语言驱动Agent完成操作)
  • 说明: 基于Markdown的AI Skill,通过自然语言指令驱动Agent完成操作。