CLI でメディアを上げる
hakocms-cli media upload で、画像やファイルをいくつもまとめて上げられます。上げたものは管理画面の[メディア]に並びます。
hakocms-cliでログインし、スペースを決めておきます(CLI でログインする)- メディアをアップロードできるロール(オーナー、管理者、編集者)を持っています
- 1 つのファイルの大きさには上限があります(使える量の上限)
まとめて上げる
Section titled “まとめて上げる”ファイルの名前を並べて渡します。シェルの * も使えます。
hakocms-cli media upload photos/*.png1 つずつ送り、送るたびに進み具合が表示されます。最後に、上げたものの一覧が表示されます。
uploaded 1/2: mountain.pnguploaded 2/2: sea.pngID FILE NAME KIND URL1edtz5vle5gg mountain.png image https://<ホスト名>.hakocms.net/media/1edtz5vle5gg/mountain.pngk323zqmuvvvs sea.png image https://<ホスト名>.hakocms.net/media/k323zqmuvvvs/sea.png- 途中で失敗すると、そこで止まります。それまでに送ったものは残ります。失敗したファイルから、もう一度送ります
- 同じファイルをもう一度送ると、別のメディアとして増えます。送り直す前に、管理画面か
media listで、もう上がっていないかを確かめます
上げるときに、代替テキストとタグを付けられます。どちらも渡したすべてのファイルに付きます。タグは JSON の文字列の配列で渡します。
hakocms-cli media upload photos/*.png --alt "旅行の写真" --tags '["travel","2026"]'代替テキストとタグを変える
Section titled “代替テキストとタグを変える”hakocms-cli media update <メディア ID> --alt 海の写真 --tags '["sea","2026"]'--tags は今のタグに足すのではなく、置き換えます。
hakocms-cli media list --tag 2026 --all # タグでhakocms-cli media list --query sea # ファイル名・代替テキスト・タグでhakocms-cli media list --kind file # 画像でないファイルだけエントリーの画像のフィールドに入れる
Section titled “エントリーの画像のフィールドに入れる”画像のフィールドにはメディアの URL を {"url": "<URL>"} の形で入れます。上げたときに表示される URL を使います。
photos というコンテンツタイプに、image という画像のフィールドがあるときの例です。ファイルごとに、上げてから、その画像を入れたエントリーを作ります。
for f in photos/*.png; do url=$(hakocms-cli media upload "$f" --jq '.[0].url') hakocms-cli entries create -t photos \ --set "title=$(basename "$f" .png)" \ --set "image={\"url\":\"$url\"}" --jq .iddone幅と高さは、Hako CMS がメディアから補います。
{ "url": "https://<ホスト名>.hakocms.net/media/pdegl1xwddch/mountain.png", "width": 1200, "height": 800 }ほかのスペースのメディアは入れられません。複数画像のフィールド(mediaList)には同じ形の配列を入れます。
使われているかを確かめる
Section titled “使われているかを確かめる”メディアを消す前に、どのエントリーが使っているかを確かめます。
hakocms-cli media usages <メディア ID>使っているエントリーのコンテンツタイプと ID が表示されます。どこにも使われていなければ、[] と表示されます。
hakocms-cli media delete <メディア ID>消してよいかを聞かれます。スクリプトから消すときは --force を付けます。消したメディアの URL はすぐに使えなくなります。元に戻せません。
エントリーから使われているメディアは消せません。先に media usages で使っているエントリーを確かめ、そのエントリーからメディアを外します。
管理画面の[メディア]で、上げたファイルが並んでいること、代替テキストとタグが付いていることを確かめます。