mcpField
E
export-standalone

export-standalone

github.com/bluzir開発10745 回インストール27 週間前に更新
リポジトリ

export-standalone について

HTML ページをオフラインで使える単一ファイルとして書き出すスキルです。Rust 製 CLI の monolith でリソースを内包し、書き出し後の外部読み込みを防止できます。

主な機能

  1. 01ページのリソースを単一 HTML に内包
  2. 02monolith CLI によるファイル処理
  3. 03書き出し後の外部読み込みを遮断
  4. 04メタデータの削除
  5. 05出力ファイルサイズの報告

活用シーン

  1. 01メールやチャットで共有するオフラインページの作成
  2. 02CDN に依存しない HTML のアーカイブ

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bluzir/claude-code-design --skill export-standalone

インストール後、Claude Code で/export-standaloneを入力して読み込まれたか確認します。

詳細

スタンドアロンとしてエクスポート

オフラインで動作する単一の HTML ファイルを生成します(外部依存なし)。すべてをインライン化する Rust CLI である monolith を使用します。

事前確認

  1. Bash(which monolith) — インストールされているか確認します。見つからない場合:
    • ユーザーに伝えます:"monolith が見つかりません。brew install monolith(macOS)でインストールしてから、再実行してください。"
    • 停止します。

手順

  1. パスを解決します:

    • $0 = 入力 HTML(必須)
    • $1 = 出力 HTML(デフォルト:<input>-standalone.html)
    • 必要に応じて Bash(mkdir -p $(dirname <output>)) を実行します
  2. monolith を実行します:

    Bash(monolith "<input>" --isolate --no-metadata -o "<output>")
    

    フラグ:

    • --isolate — バンドル後にリモートリソースが読み込まれないよう、CSP を設定します
    • --no-metadata — `` メタデータを削除します
  3. 結果を報告します:

    • サイズを確認するため、Bash(stat -f%z "<output>") または Bash(ls -la "<output>") を実行します
    • "<input> → <output> をバンドルしました(<size> KB)。オフラインで動作します。"

トレードオフ

  • メリット:単一ファイル、メールやチャットにそのまま添付可能、CDN 依存なし、アーカイブ後も利用可能
  • デメリット:ファイルサイズが大きくなります(元の 5~10 倍)。HMR は使えず、フォントが base64 としてインライン化されることが多いため、さらに大きくなります
  • インタラクティブ性は維持されます(React と Babel は読み込み時に引き続き実行されます)が、ネットワークリクエストは意図的に失敗します

コメント