关于 web-to-markdown
web-to-markdown 是通过本地安装的浏览器将网页提取并转换为整洁 Markdown 的技能,适用于需要保存网页正文的场景。它支持 JavaScript 渲染页面,并可选择打印结果或保存文件;只有用户明确按名称请求时才可使用。
主要功能
- 01通过本地浏览器处理网页
- 02支持 JavaScript 渲染页面
- 03提取主要内容
- 04转换为 Markdown
- 05可打印或保存结果
- 06支持可选 YAML frontmatter
适用场景
- 01将动态网页转换为 Markdown
- 02提取网页正文用于后续阅读
- 03将页面内容保存到文件
- 04处理需要人工登录或验证的页面
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill web-to-markdown安装后在 Claude Code 中输入/web-to-markdown确认已加载。
附带文件README.md
详细介绍
web-to-markdown
通过驱动本地安装的浏览器(经由 web2md)将网页转换为干净的 Markdown。
硬性触发条件(必须强制执行)
除非用户明确写出恰好类似以下的短语,否则绝不能使用本技能:
use the skill web-to-markdown ...use a skill web-to-markdown ...
如果用户没有明确按名称请求本技能,请停止并让用户重新发起请求,并在请求中包含:use the skill web-to-markdown。
本技能的功能
- 处理 JS 渲染的页面(Puppeteer → 用户的 Chrome)。
- 通过
puppeteer-core在 Chromium 系浏览器(Chrome/Chromium/Brave/Edge)上效果最佳。 - 提取主要内容(Readability)。
- 转换为 Markdown(Turndown),并清理链接和可选的 YAML frontmatter。
非目标
- 不要使用 Playwright 或其他浏览器自动化方案;本机制是
web2md。
你应收集的输入(仅在缺失时询问)
url(或 URL 列表)- 输出偏好:
- 打印到 stdout(
--print),或 - 保存到文件(
--out ./file.md),或 - 保存到目录(
--out ./some-dir/,按页面标题自动命名)
- 打印到 stdout(
- 针对棘手页面的可选渲染控制项:
--chrome-path <path>(如果 Chrome 自动检测失败)--interactive(显示 Chrome 并暂停,以便用户完成人工检查/登录,然后按 Enter)--wait-until load|domcontentloaded|networkidle0|networkidle2--wait-for '<css selector>'--wait-ms <milliseconds>--headful(调试)--no-sandbox(在容器/CI 中有时需要)--user-data-dir <dir>(登录/会话;请使用专用配置文件目录)
工作流
- 确认用户明确调用了本技能(
use the skill web-to-markdown)。 - 验证 URL 以
http://或https://开头。 - 确保已安装
web2md:- 运行:
command -v web2md - 如果缺失,指导用户安装:
- 如果可通过 npm 获取:
npm install -g web2md - 如果从源码安装:克隆仓库,然后运行
npm install && npm run build && npm link
- 如果可通过 npm 获取:
- 运行:
- 转换:
- 单个 URL → 文件:
web2md '<url>' --out ./page.md
- 单个 URL → 目录中自动命名的文件:
mkdir -p ./out && web2md '<url>' --out ./out/
- 人工验证/登录墙(交互式):
mkdir -p ./out && web2md '<url>' --interactive --user-data-dir ./tmp/web2md-profile --out ./out/- 然后:在浏览器窗口中完成检查,并在终端中按 Enter 继续。
- 打印到 stdout:
web2md '<url>' --print
- 多个 URL(批量):
- 创建输出目录(例如
./out/),然后对每个 URL 使用--out ./out/运行一条web2md命令
- 创建输出目录(例如
- 单个 URL → 文件:
- 验证输出:
- 如果写入文件,请验证它们存在且非空(例如
ls -la <path>和wc -c <path>)。
- 如果写入文件,请验证它们存在且非空(例如
- 返回:
- 保存的文件路径,或 Markdown(stdout 模式)。
默认值(推荐)
- 对大多数页面:
--wait-until networkidle2 - 对重型应用:先使用
--wait-until domcontentloaded --wait-ms 2000,然后如有需要再添加--wait-for 'main'(或其他稳定的选择器)。
评论
支持 Markdown