/atom95-blog

Primary LanguageTypeScript

Book Review

本を読んだ感想を書くブログです。

読み方

更新の購読方法

  • リポジトリの Watch → Custom → Releases を購読するとリリースだけを購読できます
    • GitHubアカウントが必要です
    • GitHub Notificationに基づいた通知方法で更新を通知します
    • デフォルトではNotificationsとGitHubに登録してるメールに通知が来ます
  • RSSで読みたい場合は https://github.com/azu/book-review/releases.atom を購読してください
    • こちらはGitHubアカウントは不要です
    • 任意のRSSリーダやSlack(/feed subscribe https://github.com/azu/book-review/releases.atom)などで購読できます

記事へのリアクション方法

  • 各記事の下部にはリアクションボタンがあります
  • 各記事に紐づくDiscussionsページがあり、Discussionsページにコメントを書くこともできます

GitHub Releasesブログのセットアップ方法

このブログシステムを使いたい人向けのガイドです。

セットアップ手順

  1. このリポジトリをテンプレートにして新しいリポジトリを作成: https://github.com/azu/book-review/generate
  2. 作成したリポジトリの https://github.com/{owner}/{repo}/actions/workflows/setup.yml にアクセスし"Run Workflow"を実行する
    • 必要なラベルなどがセットアップされます
  3. [オプショナル] リポジトリのSettingsからDiscussionsを有効にする
    • Discussionsをブログへのコメントする場所として利用できます

使い方

  1. Issueを作り、タイトルに書籍のタイトルを入れて、本文に感想を入れる
  2. Issueに"Status: Draft"のラベルを付ける
  3. GitHub Actionsが"Status: Draft"のIssueをまとめたDraft Releaseを作成する
  4. 公開したくなったら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を実行すると追加できます
  • テンプレート
  • タグ = ラベル
  • 画像/動画サポート
    • Issueにそれぞれアップロードできます
  • RSS
    • GitHub ReleasesのリリースノートはRSSで購読できる
  • GitHubと連携したWatchの仕組み
    • GitHubアカウントを持っているならWatchで購読できる
  • コメントシステム = Discussion
    • リリース時に"Create a discussion for this release"を選択することでコメント欄として使えるDiscussion連携ができる
    • また、リリースごとにリアクションも設定できる
  • 共同編集
    • リポジトリに書き込めるユーザーを制限することで、執筆者を管理できます
    • Issueを編集すれば、共同編集ができます
    • Issueを立てた人が、そのIssueの執筆者となります
  • 著者表記
    • 記事中で @azu のようにMentionを入れると、自動的にContributorsとして記事の下部に表示されます。
  • 検索
  • Markdown
  • アクセス解析
    • Insight > TrafficからPV数を確認できます
  • OGPイメージ
    • GitHubが自動的に生成してくれます
  • ワークフロー
    • GitHub Actionsで on: release のWorkflowで公開時にWorkflowを実行できます
    • リポジトリのWebhook設定で Releases のWebhookを設定できます
    • e.g. 記事を公開するときにSNSにポストするなど

Tips

TwitterのTweet URLを埋め込みたい

Amazonの書影を埋め込みたい

LICENSE