关于 export-standalone
用于将 HTML 页面导出为可离线使用的单文件技能,借助 Rust 命令行工具 monolith 内嵌页面资源,并通过隔离选项阻止导出后加载远程资源。
主要功能
- 01将页面资源内嵌到单个 HTML
- 02使用 monolith 命令行处理
- 03隔离导出文件的远程资源加载
- 04移除元数据
- 05报告输出文件大小
适用场景
- 01制作可通过邮件或聊天分享的离线页面
- 02归档不依赖 CDN 的 HTML 文件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ bluzir/ claude-code-design --skill export-standalone安装后在 Claude Code 中输入/export-standalone确认已加载。
详细介绍
导出为独立文件
生成一个可离线运行的单个 HTML 文件(无外部依赖)。使用 monolith——一个会内联所有内容的 Rust CLI。
预检
Bash(which monolith)— 检查是否已安装。如果未安装:- 告诉用户:未找到
monolith。请使用brew install monolith安装(macOS),然后重新运行。 - 停止。
- 告诉用户:未找到
步骤
-
解析路径:
$0= 输入 HTML(必需)$1= 输出 HTML(默认:<input>-standalone.html)- 如有需要,运行
Bash(mkdir -p $(dirname <output>))
-
运行 monolith:
Bash(monolith "<input>" --isolate --no-metadata -o "<output>")标志:
--isolate— 设置 CSP,以防止打包后加载任何远程资源--no-metadata— 移除 `` 元数据
-
报告:
- 使用
Bash(stat -f%z "<output>")或Bash(ls -la "<output>")获取文件大小 - “已将
<input>打包为<output>(<size>KB)。可离线运行。”
- 使用
权衡
- 优点:单个文件,可直接放入邮件/聊天中,无需依赖 CDN,可长期存档
- 缺点:文件更大(原始大小的 5-10 倍),不支持 HMR,字体通常会以内联 base64 的形式嵌入(文件更大)
- 保留交互功能(React + Babel 仍会在加载时运行),但网络请求会按设计失败
评论
支持 Markdown