このリポジトリは、Zenn の記事を管理し、GitHub Pages のブログと自動同期するための設定を含んでいます。
- Zenn CLI を使用した記事の管理
- GitHub Pages との自動同期
- フロントマターの自動変換
- 記事の相互リンク
- Node.js (v18 以上)
- npm
- Git
- GitHub アカウント
- Zenn アカウント
git clone https://github.com/your-username/zenn-articles.git
cd zenn-articlesnpm install -g zenn-clizenn initこれにより、以下のような構造が作成されます:
.
├── articles
│ └── .gitkeep
└── books
└── .gitkeep
zenn new:articleこのコマンドを実行すると、articlesディレクトリに新しい Markdown ファイルが作成されます。
zenn previewローカルサーバーが起動し、ブラウザで記事のプレビューを確認できます。
記事の冒頭には、以下のようなフロントマターを記述します:
---
title: "記事のタイトル"
emoji: "🎨"
type: "tech" # tech: 技術記事 / idea: アイデア
topics: ["タグ1", "タグ2"]
published: true
----
GitHub Personal Access Token (PAT)の作成
- GitHub の設定画面から「Developer settings」→「Personal access tokens」→「Tokens (classic)」を選択
- 以下の設定でトークンを作成:
- Note:
Zenn to GitHub Pages Sync - Expiration: 適切な有効期限を設定
- Scopes:
repoにチェック
- Note:
-
リポジトリにシークレットを追加
- リポジトリの設定画面から「Secrets and variables」→「Actions」を選択
GH_PATという名前でシークレットを追加
Zenn の記事は自動的に GitHub Pages の形式に変換されます:
# Zennのフロントマター
---
title: "記事のタイトル"
emoji: "🎨"
type: "tech"
topics: ["tag1", "tag2"]
published: true
published_at: "2024-03-21 12:00"
---
# 変換後のフロントマター
---
layout: post
title: "記事のタイトル"
img_path: /assets/img/logos
image:
path: logo-only.svg
width: 100%
height: 100%
alt: Zenn
category: [Tech]
tags: [tag1, tag2]
date: 2024-03-21 12:00
---- 記事をプッシュすると自動的に同期が開始
- フロントマターが自動変換
- GitHub Pages のブログに記事が同期
- 記事の最後に Zenn へのリンクが追加
- 日本語ファイル名は使用しないことを推奨
- スペースは使用しないことを推奨
- ファイル名は任意(日付形式の制限なし)
- Zenn の形式を維持
- 必要なメタデータは全て含める
published: trueを設定
- PAT は適切なスコープのみを付与
- 定期的に PAT をローテーション
- GitHub Actions の実行状況を確認
- PAT の権限を確認
- リポジトリの設定を確認
- フロントマターの形式を確認
- 必要なメタデータが含まれているか確認
- 変換後のフロントマターを確認
MIT License