Pagecast: Markdown と HTML レポートを Cloudflare Pages に公開する

Pagecast: Markdown と HTML レポートを Cloudflare Pages に公開する

Pagecast は、ローカルの HTML レポート、Markdown ドキュメント、および静的なミニアプリを、共有可能な Cloudflare Pages の URL に変換するために設計されたローカルファーストの公開ツールです。これは、特にエージェントが生成したレポートや小規模な静的ウェブプロジェクト向けに最適化されており、ローカル開発と即時の公開ホスティングの間の架け橋を提供します。

静的アセットの即時デプロイ

Pagecast は、ターミナルまたはローカルの管理 UI から静的ファイルを迅速に公開することを可能にします。主に 3 つのデプロイ パターンをサポートしています:

  • Single Files: HTML または Markdown ファイルを、同じフォルダ内にある兄弟アセットを含む、一意的な /p/<token>/ リンクに公開できます。
  • Built Static Projects: 開発者は、ビルドコマンドを実行した後、ビルドされたプロジェクトのエントリファイル(例:dist または out フォルダ)を公開できます。
  • Entire Folders: ディレクトリ全体を、名前付きの Cloudflare Pages プロジェクトに直接デプロイできます。

グローバルインストールなしで開始するには、ユーザーは npx pagecast を実行できます。これにより、http://127.0.0.1:4173 でローカル管理 UI が起動し、http://127.0.0.1:4174 でローカルプレビューサーバーが起動します。

エッジで強制されるパスワード保護

Pagecast は、公開されたページをパスワードで保護するメカニズムを提供します。この保護は、生成された Cloudflare Pages Function を使用してエッジで強制されるため、ページと、マルチファイル レポート内のすべての関連ファイルが、保護されていない状態で提供されることはありません。

ユーザーは、管理 UI のトグル、またはターミナルを使用して以下のコマンドでパスワード保護を管理できます:

# Add password protection
npx pagecast publish "/absolute/path/report.html" --password "your-password" --json

# Remove password protection
npx pagecast publish "/absolute/path/report.html" --no-password --json

コーディング エージェントとの統合

Pagecast は、現代的な AI 駆動型開発ワークフロー向けに構築されています。ユーザーの確認後に、コーディング エージェントが完成したアーティファクトを公開するためのネイティブ スキルを提供します。サポートされている統合は以下の通りです:

  • Codex: スキルは、提供されたスキルディレクトリを .codex/skills/ フォルダにコピーすることで追加できます。
  • Claude Code: 統合は、プラグインマーケットプレイス経由で利用可能です(/plugin marketplace add Amal-David/pagecast)。
  • Generic Agents: 他のエージェント フレームワーク向けに、ポータブルな SKILL.md ファイルが提供されています。

さらに、実験的な Chrome 拡張機能を使用すると、ローカルサーバーが実行されているときに、file:/// HTML レポートを Pagecast に直接公開できます。

ローカル管理 UI と管理

ローカル管理 UI では、公開済みのバージョン、リンクのリネーム(古いリンクが新しいリンクにリダイレクトされる場合)、および URL の無効化を管理できます。また、パスに依存するレポートの自動同期、および元のソースファイルを変更せずにアプリ内で HTML コンテンツを直接編集する機能もサポートしています。

セキュリティとアーキテクチャ

Pagecast は、ローカルファーストのセキュリティ モデルに従います:

  • Local Access: 管理 UI は 127.0.0.1 にバインドされるため、ドラフトプレビューはローカルに留まります。
  • Public Access: コンテンツは、アクティブな /p/<token>/ リンクを介してのみアクセス可能です。無効化されたトークンは、再デプロイ後に 404 エラーになります。
  • Route Protection: パブリック ルートは、ディレクトリ トラバーサルと隠しファイルを拒否するため、偶発的なデータ漏洩を防ぎます。
  • Infrastructure: Pagecast は、Cloudflare アカウントに接続するために、スコープされた Wrangler OAuth (account:read, user:read, pages:write) を使用します。

Pagecast は MIT ライセンスの下で提供されており、Node.js 20+ が必要です。

Sources