export-standalone について
HTML ページをオフラインで使える単一ファイルとして書き出すスキルです。Rust 製 CLI の monolith でリソースを内包し、書き出し後の外部読み込みを防止できます。
主な機能
- 01ページのリソースを単一 HTML に内包
- 02monolith CLI によるファイル処理
- 03書き出し後の外部読み込みを遮断
- 04メタデータの削除
- 05出力ファイルサイズの報告
活用シーン
- 01メールやチャットで共有するオフラインページの作成
- 02CDN に依存しない HTML のアーカイブ
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bluzir/ claude-code-design --skill export-standaloneインストール後、Claude Code で/export-standaloneを入力して読み込まれたか確認します。
詳細
スタンドアロンとしてエクスポート
オフラインで動作する単一の HTML ファイルを生成します(外部依存なし)。すべてをインライン化する Rust CLI である monolith を使用します。
事前確認
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 対応