Skip to content

記事作成

esa.ioの新しい記事を作成します。対話形式での作成、コマンドラインオプションでの作成、既存のMarkdownファイルからの作成が可能です。

Terminal window
esa-cli create [タイトル] [オプション]
  • タイトル - 記事のタイトル(オプション、指定しない場合は対話形式)
  • -t, --title - 記事のタイトル
  • -c, --category - カテゴリ
  • -g, --tags - タグ(カンマ区切り)
  • -m, --message - 作成メッセージ
  • -w, --wip - WIP状態で作成
  • -f, --file - 既存のMarkdownファイルから作成

作成された記事はMarkdown形式で保存され、以下の命名規則に従います:

<article_number>-<article-title>.md
---
title: 記事のタイトル
category: カテゴリ
tags: [tag1, tag2]
wip: false
remote_updated_at: "2025-06-22T20:24:46+09:00"
---
記事の本文...

メタデータフィールドの説明:

  • title: 記事のタイトル
  • category: 記事のカテゴリ
  • tags: 記事のタグ(配列形式)
  • wip: WIP(Work In Progress)状態(true/false)
  • remote_updated_at: リモート記事の最終更新日時
Terminal window
# 対話形式で記事を作成
esa-cli create

実行例:

Terminal window
📝 新しい記事を作成します
記事のタイトル: API仕様書
新しい記事が作成されました: API仕様書
📄 ローカルファイル: 123-API仕様書.md
Terminal window
# 基本的な記事作成
esa-cli create "新機能の説明"
# カテゴリとタグを指定
esa-cli create "API仕様書" -c "開発/API" -g "API,ドキュメント"
# WIP状態で作成
esa-cli create "下書き記事" -w
# 作成メッセージを指定
esa-cli create "技術記事" -m "新機能の説明を追加"
Terminal window
# 既存のMarkdownファイルから記事を作成
esa-cli create -f draft.md
# ファイルの内容を上書きして作成
esa-cli create -f draft.md -c "開発/ドキュメント" -g "ドキュメント,更新"
Terminal window
# 開発ドキュメントの作成
esa-cli create "API認証機能の実装" -c "開発/API" -g "API,認証,実装" -w
# 技術記事の作成
esa-cli create "Go言語での並行処理" -c "技術/Go" -g "Go,並行処理,技術記事"
# 階層カテゴリでの作成
esa-cli create "デプロイ手順書" -c "開発/インフラ/デプロイ" -g "デプロイ,インフラ"

既存のMarkdownファイルを使用する場合、ファイルのFront Matterが以下のように解析されます:

---
title: 記事のタイトル
category: カテゴリ
tags: [tag1, tag2]
wip: true
---
記事の本文...

ファイルベース作成時の優先順位:

  1. コマンドラインオプション - 最高優先度
  2. ファイルのFront Matter - 中優先度
  3. デフォルト値 - 最低優先度

例:

Terminal window
# ファイルのFront Matterを上書き
esa-cli create -f draft.md -c "新しいカテゴリ" -g "新しいタグ"
  • 階層カテゴリをサポート(例:開発/API
  • 存在しないカテゴリは自動作成されます
  • カテゴリ名は大文字小文字を区別します
  • カンマ区切りで複数タグを指定可能
  • スペースは自動的にトリムされます
  • 存在しないタグは自動作成されます
  • -wオプションを指定すると、記事はWIP状態で作成されます
  • WIP状態の記事は公開されず、編集途中として扱われます
  • 後からupdateコマンドで--no-wipオプションを使用してWIPを解除できます
  • 作成メッセージはesaの変更履歴に表示されます
  • チーム作業では、何を追加したかを明確に記録することをお勧めします

Q: タイトルに特殊文字が含まれている場合 A: ファイル名に使用できない文字は自動的に置換されます。

Q: 同じタイトルの記事が既に存在する場合 A: esaは自動的に重複を避けるため、必要に応じてタイトルが調整されます。

Q: カテゴリやタグが正しく設定されない場合 A: カテゴリ名やタグ名にスペースが含まれている場合は、適切にエスケープしてください。

  • ❌ タイトルが指定されていません - タイトルが空の場合
  • ❌ ファイルの読み込みに失敗しました - 指定したファイルが見つからない場合
  • ❌ ファイルの解析に失敗しました - Markdownファイルの形式が不正な場合
  • ❌ 記事の作成に失敗しました - APIエラーが発生した場合