Skip to main content
Jenks Guo

ドキュメント / how to

画像やファイルをアップロードして使用する

Jenks 向け — コンソール、CLI、MCP、REST からメディアライブラリ(Cloudflare R2)に写真・動画クリップ・PDF を追加し、カバー画像、ギャラリー、校正用ファイル、本文中の画像として使用します。

メディアライブラリとは

アップロードされたファイルは Cloudflare R2 バケットに保存され、https://jenksguo.pages.dev/media/… から配信されます。 対応形式: WebP、JPEG、PNG、GIF、AVIF および SVG 画像、MP4 と WebM 動画、PDF — それぞれ最大 25 MB です。 実際の種類はファイル自体から判別しますので、名前を変更しても画像のふりをすることはできません。

すべてのファイルには、/media/2026/10/acme-workshop-3f9a1c2b7d.webp のような恒久的なアドレスが付与されます。末尾の部分はバイト列のフィンガープリントであり、同じアドレスが別の内容を指すことは決してありません。ブラウザは 1 年間キャッシュできます。同じ名前・同じ内容のファイルを再度アップロードすると、既存のコピーが再利用されます。

ファイルはアップロードされた時点で公開されます。どのページでもまだ使用していなくても同様です。閲覧者全員が見てもよいものだけをアップロードしてください — 電話番号付きの履歴書、身分証、私的な文書は決してアップロードしないでください。

コンソールで

  1. https://admin.jenksguo.xyz/admin(Google でサインイン)を開き、上部バーで Media を選びます。
  2. ページにファイルをドラッグ、スクリーンショットを貼り付けるか、Upload を選びます。Optimise photos がオン(既定)だと、写真はまずブラウザ内で 2400 px にリサイズされ、WebP に変換されます — 6 MB のスマホ写真は通常 300–600 KB になります。iPhone の HEIC 写真は、ブラウザが読み取れる場合に変換されます(Safari は対応しています)。
  3. ファイルを選択して alt テキスト(画像が何を示すかを 1 文で)を追加します。スクリーンリーダーや Ask Jenks アシスタントが使用します。

次に、Content エディターからファイルを使用します:

  • Cover image — Details で Choose or upload a cover image を選びます。エントリーページの先頭に表示されます。
  • Gallery — Add photo or video で項目を追加します。本文の横に表示され、各項目に alt テキストと任意のキャプションを付けられます。
  • Proof file — 校正行で、クリップのアイコンからアップロード済みの PDF(例: 論文)を添付します。
  • Inside the text — エディターのツールバーにある画像ボタンで画像を挿入します。画像をテキスト内に直接ドラッグまたは貼り付けることもできます。挿入した画像を選択して alt テキストを編集できます。

エントリーを保存すると、通常どおり変更が公開されます。存在しない /media/… ファイルを参照しているコンテンツは、エディターが保存を拒否します。

CLI から

jenks admin media upload ~/Pictures/acme-workshop.jpg --alt "Jenks running an AI workshop at Acme"
jenks admin media upload https://example.com/talk-poster.png     # the server fetches it
jenks admin media ls                                            # newest first, with "used by"
jenks admin media alt 2026/10/acme-workshop-3f9a1c2b7d.jpg "New alt text"
jenks admin media rm 2026/10/acme-workshop-3f9a1c2b7d.jpg

CLI はファイルをそのまま(リサイズなし)アップロードします。大きな写真は、まず適切なサイズに書き出してください。 その後、エントリー内で出力された url を参照します:

image: /media/2026/10/acme-workshop-3f9a1c2b7d.jpg
imageAlt: Jenks running an AI workshop at Acme
gallery:
  - src: /media/2026/10/acme-team-0c1d2e3f4a.webp
    alt: The Acme leadership team at the kick-off
    caption: Kick-off, October 2026

AI エージェント(MCP)から

admin MCP サーバーには、admin_upload_media、admin_list_media、admin_update_media、admin_delete_media があります。

  • Local(jenks mcp --admin): エージェントに対して、ローカルサーバーが読み取れるように、コンピューター上のファイルを path で渡します。
  • Remote(/mcp/admin): url(インポートする https アドレス)または data(base64)とともに filename を渡します。

エージェントへの典型的な依頼: 「~/Desktop/xero-talk.jpg を alt テキスト『Jenks が Xerocon で講演している』付きでアップロードし、その後 xero-developer-evangelist のカバー画像に設定してください。」

REST から

curl -H "Authorization: Bearer $JENKSGUO_ADMIN_TOKEN" \
  -F file=@acme-workshop.jpg -F alt="Jenks running an AI workshop at Acme" \
  https://jenksguo.pages.dev/api/admin/media

GET、PATCH、DELETE を /api/admin/media に対して呼び出すと、一覧取得、更新、削除ができます。詳しくはadmin API referenceをご覧ください。

安全に削除する

削除は恒久的です。コンテンツと異なり、ファイルには git の履歴がありません。コンソールと API は、公開済みコンテンツがまだ使用しているファイルの削除を拒否し、使用箇所を表示します。まず参照を削除するか、壊れた画像を許容する場合は強制的に削除します。

used by チェックは、この環境が最後にデプロイしたコンテンツを読み取ります。dev と production は 1 つのメディアライブラリを共有します(そのため、dev でプレビュー中にアップロードしたファイルは、昇格後も引き続き動作します)。その結果、未昇格の dev コンテンツだけが使用しているファイルは、production のコンソールでは未使用に見えることがあります。

.mdこのページはAIの支援で翻訳されています。正式な肩書は英語のままです。