本を読んだ感想を書くブログです。
- 最新の記事: https://github.com/asca2/book-review/releases/latest
- 記事の一覧: https://github.com/asca2/book-review/releases
- 書籍ごとの感想はIssueごとに書かれています
- リポジトリの Watch → Custom → Releases を購読するとリリースだけを購読できます
- GitHubアカウントが必要です
- GitHub Notificationに基づいた通知方法で更新を通知します
- デフォルトではNotificationsとGitHubに登録してるメールに通知が来ます
- RSSで読みたい場合は https://github.com/asca2/book-review/releases.atom を購読してください
- こちらはGitHubアカウントは不要です
- 任意のRSSリーダやSlack(
/feed subscribe https://github.com/asca2/book-review/releases.atom
)などで購読できます
- 各記事の下部にはリアクションボタンがあります
- 各記事に紐づくDiscussionsページがあり、Discussionsページにコメントを書くこともできます
このブログシステムを使いたい人向けのガイドです。
- このリポジトリをテンプレートにして新しいリポジトリを作成: https://github.com/azu/book-review/generate
- 作成したリポジトリの
https://github.com/{owner}/{repo}/actions/workflows/setup.yml
にアクセスし"Run Workflow"を実行する- 必要なラベルなどがセットアップされます
- [オプショナル] リポジトリのSettingsからDiscussionsを有効にする
- Discussionsをブログへのコメントする場所として利用できます
- Issueを作り、タイトルに書籍のタイトルを入れて、本文に感想を入れる
- Issueに"Status: Draft"のラベルを付ける
- GitHub Actionsが"Status: Draft"のIssueをまとめたDraft Releaseを作成する
- 公開したくなったらDraft Releaseを編集して、Publishすると公開され、DraftのIssueは閉じられる
- スクラップ機能
- Issueごとにスクラップを書いて、Releasesでまとめて1つの記事として公開できます
- ドラフト と 公開済みのライフサイクル
- Issueが個別のドラフトになります
Status: Draft
ラベルをつけたIssueをドフラトとして扱います- ラベルがついてないIssueは対象外となるので、ドラフトではないIssueも混在できます
- Issueが編集されるたびにGitHub Actionsで、GitHub Releasesにドラフトリリースノートを作成します
- このドラフトリリースノートには、その時点で
Status: Draft
ラベルがついたIssueが全てまとめられています
- このドラフトリリースノートには、その時点で
- ドラフトリリースノートをPublishすると、
Status: Draft
ラベルがついたIssueが全て自動でクローズされ、Status: Released
ラベルを付与します - このライフサイクルは.github/workflows/create-draft.ymlが処理しています
- プロジェクト管理
- GitHub Projectsを使うことで、ドラフトや公開済みのIssueを管理できます
Status: Draft
ラベル: ドラフトStatus: Released
ラベル: 公開済み- ラベルは setup.yml のworkflowを実行すると追加できます
- テンプレート
- タグ = ラベル
- テンプレートを編集して、ラベルをタグとして扱うこともできます
- https://github.com/jser/blog-example
- 画像/動画サポート
- Issueにそれぞれアップロードできます
- RSS
- GitHub ReleasesのリリースノートはRSSで購読できる
- GitHubと連携したWatchの仕組み
- GitHubアカウントを持っているならWatchで購読できる
- コメントシステム = Discussion
- リリース時に"Create a discussion for this release"を選択することでコメント欄として使えるDiscussion連携ができる
- また、リリースごとにリアクションも設定できる
- 共同編集
- リポジトリに書き込めるユーザーを制限することで、執筆者を管理できます
- Issueを編集すれば、共同編集ができます
- Issueを立てた人が、そのIssueの執筆者となります
- 著者表記
- 記事中で
@azu
のようにMentionを入れると、自動的にContributorsとして記事の下部に表示されます。
- 記事中で
- 検索
- https://github.com/azu/book-review/releasesには全文検索がついています
- Markdown
- GitHub Issuesに書けるMarkdownは全て対応しています
- Basic writing and formatting syntax - GitHub Docs
- Working with advanced formatting - GitHub Docs
- アクセス解析
- Insight > TrafficからPV数を確認できます
- OGPイメージ
- GitHubが自動的に生成してくれます
- ワークフロー
- GitHub Actionsで
on: release
のWorkflowで公開時にWorkflowを実行できます - リポジトリのWebhook設定で Releases のWebhookを設定できます
- e.g. 記事を公開するときにSNSにポストするなど
- GitHub Actionsで
- Poet.so | Create Beautiful Images of Twitter Posts を使うとTweetのURLを画像に変換できます
- Amazon Cover Code でMarkdownの画像付きリンクを作成できます
- ブログシステムのコードはMITライセンス (c) azu
- ブログ記事はリポジトリ所有者が著作権を保持します