mcpField
G
geo-report-pdf

geo-report-pdf

github.com/zubair-trabzada文档处理11.3k848 次安装3 周前更新
代码仓库

关于 geo-report-pdf

geo-report-pdf 是一项技能,可通过 pandoc 和无头 Chrome 将 GEO 审计 Markdown 报告转换为排版后的 PDF。它面向需要整理审计文档的用户,使用模板处理报告元数据、分数样式和章节格式。

主要功能

  1. 01将 GEO 审计 Markdown 转为 PDF
  2. 02提取报告封面元数据
  3. 03为分数表格单元格着色
  4. 04按严重程度设置发现项样式
  5. 05为章节添加分页
  6. 06自定义模板和 CSS

适用场景

  1. 01将 GEO-AUDIT-REPORT.md 制作为 PDF
  2. 02整理可分享的审计结果
  3. 03调整报告颜色和页面布局

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/zubair-trabzada/geo-seo-claude --skill geo-report-pdf

安装后在 Claude Code 中输入/geo-report-pdf确认已加载。

详细介绍

GEO PDF 报告生成器(pandoc 流水线)

前提条件

  • pandoc — brew install pandoc
  • Google Chrome — 必须安装在 /Applications/Google Chrome.app/

无需 Python 依赖。无需 ReportLab。无需处理 JSON 数据。

工作原理

  1. 读取当前目录中的 GEO-AUDIT-REPORT.md(由 /geo audit 创建)
  2. 从报告中提取封面元数据(品牌名称、域名、GEO 分数、日期、地点)
  3. 使用内置 CSS + HTML 模板运行 pandoc,生成独立的 GEO-REPORT.html
  4. 运行 Chrome 无头模式,将 HTML 打印为 GEO-REPORT.pdf

pandoc 模板(~/.claude/skills/geo/templates/geo-report-template.html)会注入:

  • 带 GEO 分数徽章的全幅深海军蓝封面
  • 每个部分的封面元数据(日期、业务类型、地点、平台)
  • 在打印前于 Chrome 中运行的 JavaScript,用于为分数单元格着色,并为发现的问题部分添加严重程度标签

工作流程

第 1 步:检查审计报告

在当前目录中查找 GEO-AUDIT-REPORT.md。如果不存在,告知用户先运行 /geo audit <url>。

第 2 步:从报告中提取封面元数据

读取 GEO-AUDIT-REPORT.md 开头部分并提取:

字段查找位置
brand_name第一个 H1 标题(位于 "GEO Audit Report:" 之后)
domain第二行加粗文本(例如 **Domain:** alexamediasolutions.com)
geo_score与 ## Overall GEO Score: XX / 100 匹配的行
score_label同一行中分数后面的词(例如 "Poor"、"Fair"、"Good")
date**Audit Date:** 行
business_type**Business Type:** 行
locations**Locations:** 行
platform**CMS:** 行
第 3 步:运行 pandoc
pandoc GEO-AUDIT-REPORT.md \
  --to html5 \
  --standalone \
  --embed-resources \
  --template ~/.claude/skills/geo/templates/geo-report-template.html \
  --css ~/.claude/skills/geo/templates/geo-report-style.css \
  --metadata title="GEO Audit Report — <brand_name>" \
  --metadata brand_name="<brand_name>" \
  --metadata domain="<domain>" \
  --metadata geo_score="<geo_score>" \
  --metadata score_label="<score_label>" \
  --metadata date="<date>" \
  --metadata business_type="<business_type>" \
  --metadata locations="<locations>" \
  --metadata platform="<platform>" \
  -o GEO-REPORT.html

将 <field> 占位符替换为第 2 步提取的值。如果报告中未找到某个字段,则省略对应的 --metadata 标志——模板带有合理的默认值。

第 4 步:运行 Chrome 无头模式
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
  --headless=new \
  --disable-gpu \
  --no-sandbox \
  --print-to-pdf="$(pwd)/GEO-REPORT.pdf" \
  --print-to-pdf-no-header \
  --no-pdf-header-footer \
  --virtual-time-budget=5000 \
  "file://$(pwd)/GEO-REPORT.html"
第 5 步:报告完成情况

告知用户:

  • GEO-REPORT.pdf 已在当前目录中生成
  • 文件大小
  • 可选:运行 open GEO-REPORT.pdf 进行预览

PDF 内容

  • 封面 — 深海军蓝渐变背景、品牌名称、域名、GEO 分数徽章(根据分数着色)、审计日期、业务类型、地点、CMS 平台
  • 分数表格 — 包含 XX/100 的单元格会根据分数着色:≥80 为绿色,≥65 为蓝色,≥50 为琥珀色,≥35 为橙色,<35 为红色
  • 发现问题部分 — 包含 "Critical / High / Medium / Low" 的 h3 标题会显示带严重程度颜色左边框的提示块(红色 / 橙色 / 黄色 / 绿色)
  • 章节分页 — 主要章节(High Priority、90-Day Roadmap、Component Score Summary、Generated Schema)会自动从新页开始
  • 代码块 — JSON 架构模板采用深色主题等宽字体样式
  • 页脚 — 品牌名称 · GEO Audit · 日期 + 页码(通过 CSS @page)

自定义报告

  • 颜色 / 字体排版 — 编辑 ~/.claude/skills/geo/templates/geo-report-style.css
  • 封面布局 — 编辑 ~/.claude/skills/geo/templates/geo-report-template.html
  • 分数着色阈值 — 编辑模板 <script> 块中的 scoreColor() 函数
  • 需要分页的章节 — 编辑模板 <script> 块中的 breakBefore 数组

故障排除

问题解决方法
pandoc: command not foundbrew install pandoc
未找到 Chrome检查路径:/Applications/Google Chrome.app/Contents/MacOS/Google Chrome
PDF 为空白将 --virtual-time-budget 增加到 8000
缺少封面元数据检查 GEO-AUDIT-REPORT.md 是否采用标准标题格式
字体未加载PDF 离线渲染;系统字体会作为回退字体使用,这是预期行为

评论

支持 Markdown