記事作成
esa.ioの新しい記事を作成します。対話形式での作成、コマンドラインオプションでの作成、既存のMarkdownファイルからの作成が可能です。
コマンド形式
Section titled “コマンド形式”esa-cli create [タイトル] [オプション]タイトル- 記事のタイトル(オプション、指定しない場合は対話形式)
-t, --title- 記事のタイトル-c, --category- カテゴリ-g, --tags- タグ(カンマ区切り)-m, --message- 作成メッセージ-w, --wip- WIP状態で作成-f, --file- 既存のMarkdownファイルから作成-T, --template- esa.ioにアップロードせず、ローカルにテンプレートファイルのみ生成
ファイル形式
Section titled “ファイル形式”作成された記事はMarkdown形式で保存され、以下の命名規則に従います:
- 通常モード:
<article_number>-<article-title>.md - テンプレートモード:
draft-<article-title>.md
ファイル構造
Section titled “ファイル構造”---title: 記事のタイトルcategory: カテゴリtags: [tag1, tag2]wip: falseremote_updated_at: "2025-06-22T20:24:46+09:00"---
記事の本文...メタデータフィールドの説明:
title: 記事のタイトルcategory: 記事のカテゴリtags: 記事のタグ(配列形式)wip: WIP(Work In Progress)状態(true/false)remote_updated_at: リモート記事の最終更新日時
対話形式での作成
Section titled “対話形式での作成”# 対話形式で記事を作成esa-cli create実行例:
📝 新しい記事を作成します記事のタイトル: API仕様書✅ 新しい記事が作成されました: API仕様書📄 ローカルファイル: 123-API仕様書.mdコマンドラインでの作成
Section titled “コマンドラインでの作成”# 基本的な記事作成esa-cli create "新機能の説明"
# カテゴリとタグを指定esa-cli create "API仕様書" -c "開発/API" -g "API,ドキュメント"
# WIP状態で作成esa-cli create "下書き記事" -w
# 作成メッセージを指定esa-cli create "技術記事" -m "新機能の説明を追加"既存ファイルからの作成
Section titled “既存ファイルからの作成”# 既存のMarkdownファイルから記事を作成esa-cli create -f draft.md
# ファイルの内容を上書きして作成esa-cli create -f draft.md -c "開発/ドキュメント" -g "ドキュメント,更新"高度な使用例
Section titled “高度な使用例”# 開発ドキュメントの作成esa-cli create "API認証機能の実装" -c "開発/API" -g "API,認証,実装" -w
# 技術記事の作成esa-cli create "Go言語での並行処理" -c "技術/Go" -g "Go,並行処理,技術記事"
# 階層カテゴリでの作成esa-cli create "デプロイ手順書" -c "開発/インフラ/デプロイ" -g "デプロイ,インフラ"テンプレートファイルの生成
Section titled “テンプレートファイルの生成”# ローカルにテンプレートファイルのみ生成(esa.ioにアップロードしない)esa-cli create "下書き記事" -Tesa-cli create "下書き記事" --template
# カテゴリ・タグ付きテンプレートを生成esa-cli create "技術記事" -c "技術/Go" -g "Go,技術記事" -T
# WIP状態のテンプレートを生成esa-cli create "下書き" -w -T
# 編集後、esa.ioにアップロードesa-cli create -f draft-下書き記事.mdファイルベース作成の詳細
Section titled “ファイルベース作成の詳細”Front Matterの解析
Section titled “Front Matterの解析”既存のMarkdownファイルを使用する場合、ファイルのFront Matterが以下のように解析されます:
---title: 記事のタイトルcategory: カテゴリtags: [tag1, tag2]wip: true---
記事の本文...オプションの優先順位
Section titled “オプションの優先順位”ファイルベース作成時の優先順位:
- コマンドラインオプション - 最高優先度
- ファイルのFront Matter - 中優先度
- デフォルト値 - 最低優先度
例:
# ファイルのFront Matterを上書きesa-cli create -f draft.md -c "新しいカテゴリ" -g "新しいタグ"カテゴリについて
Section titled “カテゴリについて”- 階層カテゴリをサポート(例:
開発/API) - 存在しないカテゴリは自動作成されます
- カテゴリ名は大文字小文字を区別します
タグについて
Section titled “タグについて”- カンマ区切りで複数タグを指定可能
- スペースは自動的にトリムされます
- 存在しないタグは自動作成されます
WIP状態について
Section titled “WIP状態について”-wオプションを指定すると、記事はWIP状態で作成されます- WIP状態の記事は公開されず、編集途中として扱われます
- 後から
updateコマンドで--no-wipオプションを使用してWIPを解除できます
作成メッセージについて
Section titled “作成メッセージについて”- 作成メッセージはesaの変更履歴に表示されます
- チーム作業では、何を追加したかを明確に記録することをお勧めします
トラブルシューティング
Section titled “トラブルシューティング”よくある問題
Section titled “よくある問題”Q: タイトルに特殊文字が含まれている場合 A: ファイル名に使用できない文字は自動的に置換されます。
Q: 同じタイトルの記事が既に存在する場合 A: esaは自動的に重複を避けるため、必要に応じてタイトルが調整されます。
Q: カテゴリやタグが正しく設定されない場合 A: カテゴリ名やタグ名にスペースが含まれている場合は、適切にエスケープしてください。
エラーメッセージ
Section titled “エラーメッセージ”❌ タイトルが指定されていません- タイトルが空の場合❌ ファイルの読み込みに失敗しました- 指定したファイルが見つからない場合❌ ファイルの解析に失敗しました- Markdownファイルの形式が不正な場合❌ 記事の作成に失敗しました- APIエラーが発生した場合