カテゴリごとに Markdown コンテンツとメタ情報を管理できる汎用 CLI ツールです.
- 柔軟なディレクトリ管理: カテゴリ・日付・タイトルを自由に組み合わせ,分かりやすい構造でコンテンツを整理.
- メタ情報付き Markdown: メタデータ入りの Markdown ファイルをそのまま作成・管理できる.
- メタデータ自動集約: 複数のコンテンツからメタ情報をまとめ上げ,一覧やサイトマップを自動生成.
- GitHub Pages 公開対応: GitHub Pages へのデプロイ用ワークフローも自動で用意.
- Node.js (LTS 版を推奨)
npm install -g @yhotamos/content-manager-clicontent <command> [contentDir] [options]
<command>: 実行するコマンド (init,create,buildなど)[contentDir]:content.config.jsonが配置されている,または作成されるディレクトリ.多くのコマンドで必須です.[options]:-c, --categoryのようなコマンド固有のオプション.
-
プロジェクトディレクトリの作成
mkdir my-project cd my-project -
コンテンツ管理の初期化
プロジェクト内に,コンテンツを管理するためのディレクトリを作成します.(デフォルトでは
contentという名前になります)content init
-
コンテンツの作成
カテゴリ
news,タイトルmy-first-postでコンテンツを作成します.--structure category/titleは<カテゴリ>/<タイトル>というディレクトリ構造を意味します.# ./content/news/my-first-post/index.md が作成される content create content --structure category/title --category news --title "my-first-post"
ショートカット記法を使用すると,以下のように書くこともできます.
content create content -s c/t -c news -t "my-first-post" -
メタデータのビルド
カテゴリ(
--category news)を指定し,そのカテゴリのディレクトリ(--target category)をビルドします.これにより,content/news/content.meta.jsonが生成されます.content build content --target category --category news
ショートカット記法を使用すると,以下のように書くこともできます.
content build content --target c -c news
上記のコマンドを実行すると,最終的なディレクトリ構成は以下のようになります.
my-project/
└── content/
├── news/
│ ├── my-first-post/
│ │ └── index.md # createコマンドで生成
│ └── content.meta.json # buildコマンドで生成
└── content.config.json # initコマンドで生成より詳細な情報については,以下のドキュメントを参照してください.
- コマンドリファレンス: 全てのコマンドと,そのオプションの詳細な説明.
- ベストプラクティス: 推奨されるコンテンツ管理のワークフローと実践的な例.
| コマンド | 説明 |
|---|---|
content init |
新しいコンテンツ管理プロジェクトを初期化します. |
content create |
新しいコンテンツを作成します. |
content build |
コンテンツのメタデータをビルドし,一覧ファイルを生成します. |
content gh-pages |
GitHub Pages への公開用ワークフローを生成します. |
詳細はコマンドリファレンスを参照してください.
content init で生成される設定ファイルです.プロジェクトの挙動をカスタマイズできます.
{
"contentDir": "content",
"contentName": "content",
"metaIndexFile": "content.meta.json",
"defaultMeta": {
"lang": "ja",
"author": ""
},
"filePatterns": ["**/*.md", "**/*.txt", "**/*.html"],
"structures": []
}バグ報告,機能提案,プルリクエストはいつでも歓迎します.Issue やプルリクエストを作成する前に,既存の Issue がないか確認してください.
- このリポジトリをフォークします.
- フィーチャーブランチを作成します (
git checkout -b feature/your-feature). - 変更をコミットします (
git commit -m 'Add some feature'). - ブランチにプッシュします (
git push origin feature/your-feature). - プルリクエストを作成します.
このプロジェクトは MIT ライセンス の下で公開されています.