Skip to content

記事更新

esa.ioの記事を更新します。ローカルのMarkdownファイルを編集した後、このコマンドを使用して記事を更新できます。

Terminal window
esa-cli update <file_path>
  • file_path - 更新するMarkdownファイルのパス(必須)
  • -m, --message - 更新メッセージ(変更履歴に表示)
  • -n, --no-wip - WIP状態を解除
  • -c, --category - カテゴリを変更
  • -a, --add-tags - タグを追加(カンマ区切り)
  • -r, --remove-tags - タグを削除(カンマ区切り)

更新対象のファイル名は以下の形式である必要があります:

<article_number>-<article-title>.md
---
title: 記事のタイトル
category: カテゴリ
tags: [tag1, tag2]
wip: false
---
記事の本文...
Terminal window
# 記事を更新
esa-cli update 123-article-title.md
# 更新メッセージを指定
esa-cli update 123-article-title.md -m "タイトルを更新"
esa-cli update 123-article-title.md --message "タイトルを更新"
Terminal window
# 記事をWIPとして更新
esa-cli update 123-article-title.md
# WIPを解除
esa-cli update 123-article-title.md -n
esa-cli update 123-article-title.md --no-wip
Terminal window
# カテゴリを変更
esa-cli update 123-article-title.md -c 開発
esa-cli update 123-article-title.md --category 開発
# タグを追加
esa-cli update 123-article-title.md -a API,認証
esa-cli update 123-article-title.md --add-tags API,認証
# タグを削除
esa-cli update 123-article-title.md -r 古いタグ
esa-cli update 123-article-title.md --remove-tags 古いタグ
Terminal window
# 特定のカテゴリの記事を一括更新
for file in *-*.md; do
if grep -q "category: 開発/ドキュメント" "$file"; then
esa-cli update "$file" -message "カテゴリを更新"
fi
done

updateコマンドは、ローカルで編集を開始した後にリモート記事が更新された場合、上書き前に警告を表示します。

Terminal window
esa-cli update 123-article-title.md

リモート記事が更新されている場合:

⚠️ 警告: リモートの記事はローカルで編集を始めてから更新されています。
リモート: 2025-06-22 14:01:45
ローカル: 2025-06-21 09:32:41
このまま上書きしますか? (y/N):
  • y または Y: リモート記事を上書きして更新を実行
  • N または Enter: 更新をキャンセル
  • その他の入力: 更新をキャンセル

この機能により、複数人で同じ記事を編集する際の競合を防ぐことができます:

  1. 安全な更新: 他の人が更新した内容を誤って上書きすることを防げます
  2. 変更の確認: リモートの変更内容を確認してから更新を決定できます
  3. 競合の回避: チーム内での編集競合を最小限に抑えられます
  • ファイル名は fetch コマンドでダウンロードした形式を維持する必要があります
  • 記事番号はファイル名から自動的に抽出されます
  • メタデータ(タイトル、カテゴリ、タグ)はYAMLフロントマターから読み取られます
  • 更新メッセージは変更履歴に表示され、後から参照できます