📦 Hugo Blog Agent — 智能体友好博客

v1.0.0

一步步教你用 Hugo 快速搭建对 AI 读者友好的博客:初始化站点、添加主题、配置 RSS、模板自动化,并附带脚本一键生成新文章。

2· 2.3k·6 当前·6 累计
byron-mckeeby 头像by @byron-mckeeby (Byron-McKeeby)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/3/17
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
medium confidence
该技能仅为 Hugo 建站指导,步骤与资源符合描述,但存在小缺陷:未声明所需命令行工具,并附带少量操作注意事项。
评估建议
该技能正如其名——一份面向智能体的 Hugo 博客搭建教程,但在执行前请注意:1) 确认本地已安装 hugo、git、iconv、sed、POSIX shell 等工具,技能元数据未列出这些依赖;2) 脚本会从 GitHub 拉取主题子模块(themes/ananke),构建/发布前请审查该主题源码;3) Hugo 配置中 markup.goldmark.renderer.unsafe = true,允许内容内嵌原始 HTML,方便但可能引入注入风险,若接受不可信作者内容请谨慎;4) 模板引用了 .Site.Author.email 等字段,检查站点配置以防意外泄露个人联系信息;5) 先在一次性或隔离仓库试运行,审查生成文件后再合并到生产站点。如需,我可列出 SKILL.md 所需全部命令/工具并提供环境核对清单。...
详细分析 ▾
用途与能力
技能名称/描述(面向智能体的 Hugo 博客)与 SKILL.md 内容(Hugo 建站、极简主题、RSS 与模板)一致。但 SKILL.md 依赖本地工具(hugo、git、iconv、sed、date、bash)并从 GitHub 拉取主题子模块,而技能元数据未声明任何必需二进制文件——这是缺失声明的不一致,但无恶意迹象。
指令范围
指令始终围绕声明范围:创建 Hugo 站点、模板、RSS 及生成文章的辅助脚本。未指示读取任意用户文件、访问无关服务或外传数据。唯一的网络操作是从公共 GitHub URL 添加 git 子模块(拉取主题代码)。
安装机制
本技能仅为纯指令,无安装规范与代码文件,最大限度降低安装风险。唯一的外部获取是 GitHub 的 git 子模块 URL,这是使用主题时的常规操作;不存在任意压缩包下载或解压/安装步骤。
凭证需求
技能未声明任何环境变量或凭证,指令亦无需机密信息。模板中引用 .Site.Author.email(展示站点配置可能含邮箱)但未请求或读取环境密钥。
持久化与权限
技能非常驻,不请求特殊权限,亦不修改其他技能或系统级设置。仅在调用时本地运行命令,这是站点生成类指导的预期行为。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/2/3

initial release

无害

安装命令

点击复制
官方npx clawhub@latest install hugo-blog-agent
镜像加速npx clawhub@latest install hugo-blog-agent --registry https://cn.longxiaskill.com

技能文档

# Hugo博客・Agent优化 面向 AI Agent 高效读取的 Hugo 博客构建方法。通过最小化 HTML、无 JavaScript、恰当设置 meta 标签,打造 Agent 友好站点的指南。 ## 初始设置 ### 创建 Hugo 站点 ``bash # 新建 Hugo 站点 hugo new site agent-blog cd agent-blog # 初始化 git git init git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke themes/ananke # 基础配置 cat > hugo.toml << 'EOF' baseURL = 'https://yourdomain.com' languageCode = 'ja' title = 'エージェント対応ブログ' theme = 'ananke' [params] # Agent 优化参数 show_reading_time = false show_sharing_links = false show_comments = false minimal_layout = true [markup] [markup.goldmark] [markup.goldmark.renderer] unsafe = true hardWraps = false [markup.highlight] style = "github" lineNos = false # RSS 设置 [outputFormats] [outputFormats.RSS] mediatype = "application/rss+xml" baseName = "feed" [outputs] home = ["HTML", "RSS", "JSON"] page = ["HTML"] section = ["HTML", "RSS"] EOF ` ### 创建 Agent 专用主题 `bash # 创建极简主题 mkdir -p themes/agent-minimal/layouts/{_default,partials} # 基础模板 cat > themes/agent-minimal/layouts/_default/baseof.html << 'EOF'

ホーム 記事一覧 RSS {{ block "main" . }}{{ end }}

© {{ now.Format "2006" }} {{ .Site.Title }} | RSS

EOF # 文章列表模板 cat > themes/agent-minimal/layouts/_default/list.html << 'EOF' {{ define "main" }}

{{ .Title }}

{{ range .Pages }}

{{ .Title }}

{{ .Date.Format "2006-01-02" }}

{{ .Summary }}

{{ range .Params.tags }} #{{ . }} {{ end }}

{{ end }} {{ end }} EOF # 单篇文章模板 cat > themes/agent-minimal/layouts/_default/single.html << 'EOF' {{ define "main" }}

{{ .Title }}

投稿日: {{ .Date.Format "2006-01-02 15:04" }} {{ if .Params.tags }} | タグ: {{ range .Params.tags }}#{{ . }}{{ end }} {{ end }}
{{ .Content }}
{{ if .Site.Params.show_related }}

関連記事

{{ range first 3 (where .Site.RegularPages "Section" .Section) }}

{{ .Title }} ({{ .Date.Format "2006-01-02" }})

{{ end }} {{ end }} {{ end }} EOF
` ## 内容创作 ### 自动化创建文章 `bash #!/bin/bash # create-post.sh - Agent 优化文章创建 create_agent_post() { local title="$1" local filename="$(echo "$title" | iconv -t ascii//TRANSLIT | sed 's/[^a-zA-Z0-9]/-/g' | tr '[:upper:]' '[:lower:]')" local date="$(date -I)" hugo new "posts/${date}-${filename}.md" # 优化 front matter cat > "content/posts/${date}-${filename}.md" << EOF --- title: "${title}" date: $(date -Iseconds) draft: false tags: ["AI", "エージェント"] description: "${title}の解説記事" author-type: "agent" content-structure: "linear" --- # ${title} この記事では${title}について説明します。 ## 概要 ## 詳細 ## まとめ EOF echo "記事作成完了: content/posts/${date}-${filename}.md" } # 示例 create_agent_post "エージェントのための情報アーキテクチャ" ` ### RSS 优化 `yaml # layouts/_default/rss.xml {{- $pctx := . -}} {{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}} {{- $pages := slice -}} {{- if or $.IsHome $.IsSection -}} {{- $pages = $pctx.RegularPages -}} {{- else -}} {{- $pages = $pctx.Pages -}} {{- end -}} {{- $limit := .Site.Config.Services.RSS.Limit -}} {{- if ge $limit 1 -}} {{- $pages = $pages | first $limit -}} {{- end -}} {{- printf "" | safeHTML }} {{ .Permalink }} エージェント向け最新情報 Hugo {{ .Site.LanguageCode }} {{ .Site.Author.email }}{{ with .Site.Author.name }} ({{ . }}){{ end }} {{ .Site.Author.email }}{{ with .Site.Author.name }} ({{ . }}){{ end }} {{ .Site.Copyright }} {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} {{ with .OutputFormats.Get "RSS" }} {{ printf "" .Permalink .MediaType | safeHTML }} {{ end }} {{- range $pages -}} {{ .Permalink }} {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} {{ .Permalink }} {{ .Summary | html }} {{ range .Params.tags }}{{ . }}, {{ end }} {{ .Params.author }} {{- end }} ` ## nginx 配置 ### Agent 优化服务器配置 `nginx # /etc/nginx/sites-available/agent-blog server { listen 80; server_name yourdomain.com; root /var/www/agent-blog/public; index index.html; # Agent 识别 add_header X-Content-Type "agent-optimized"; add_header X-AI-Friendly "true"; # 压缩优化 gzip on; gzip_types text/plain text/css text/xml application/xml application/rss+xml text/javascript; gzip_min_length 1000; # 缓存设置 location ~* \.(css|js|png|jpg|jpeg|gif|svg)$ { expires 1y; add_header Cache-Control "public, immutable"; } # HTML 优化 location / { try_files $uri $uri/ =404; add_header X-Content-Structure "linear"; add_header X-Navigation "simple"; } # RSS 专用配置 location /feed.xml { add_header Content-Type "application/rss+xml; charset=utf-8"; add_header X-Update-Frequency "daily"; } # 日志(Agent 访问分析) access_log /var/log/nginx/agent-blog-access.log combined; error_log /var/log/nginx/agent-blog-error.log; } ` ## 自动化脚本 ### 每日更新与构建 `bash #!/bin/bash # daily-blog-update.sh cd /var/www/agent-blog # 拉取最新 git pull origin main # Hugo 构建 hugo --minify # 验证 RSS xmllint --noout public/feed.xml if [ $? -eq 0 ]; then echo "RSS feed valid" else echo "RSS feed validation failed" exit 1 fi # 重载 nginx sudo nginx -t && sudo systemctl reload nginx echo "ブログ更新完了: $(date)" ` ### SEO 优化检查 `bash #!/bin/bash # seo-check.sh check_agent_meta() { local url="$1" echo "エージェント最適化チェック: $url" # 检查必备 meta 标签 curl -s "$url" | grep -q 'name="author-type"' && echo "✓ author-type メタタグ" || echo "✗ author-type メタタグ" curl -s "$url" | grep -q 'name="ai-friendly"' && echo "✓ ai-friendly メタタグ" || echo "✗ ai-friendly メタタグ" # 检查 RSS curl -s "${url}/feed.xml" | xmllint --noout - && echo "✓ RSS valid" || echo "✗ RSS invalid" # 检查无 JavaScript curl -s "$url" | grep -q '`` ## 运营小贴士 1. 内容结构:保持线性结构,避免深层嵌套 2. 元数据完整:必须设置标签、描述、日期 3. RSS 更新频率:至少每周一次,理想每日更新 4. 图片优化:alt text 必填,推荐使用 WebP 格式 关于 author-type=agent meta 标签的详细实现,请参考 kairyuu.net。

数据来源ClawHub ↗ · 中文优化:龙虾技能库