GitHub Projectsを使って技術ブログのネタ管理を始めてみました

技術ブログのネタ管理をGitHub Projectsで始めてみました!ブログネタに限らず、日々のタスクをグラフ化して可視化したい方にも参考になるかもしれません。
2022.12.21

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。AWS事業本部コンサルティング部に所属している今泉(@bun76235104)です。

弊社ではアウトプットを盛んに行う文化があり、中でも技術ブログは質・量ともにすごいです(子どものような感想)。

仕事をしながら良質なブログを毎日アウトプットする猛者たちもおり、自分もブログの質と量を上げたいと思う毎日です。

私も日々の業務や趣味で触っている技術などについてアウトプットを心がけているのですが、以下のような課題を感じ始めました。

  • ふとした時にすぐブログネタをメモする場所が欲しい(プライベート・仕事問わず)
    • これまではメモ帳やSlackで自分に向けてメッセージを送るなどしていた
  • 自分の書く記事の傾向・テーマをフワッとで良いので可視化したい
    • どこで学んだ内容を
    • どんな技術について
    • どんな切り口でアウトプットしているのか

そこでいくつかの記事を参考に、以下の順番でブログネタ管理の環境を改善してみました!

  1. 高頻度でブログのアウトプットをしている人の記事を読んだり、話を聞いてみる
  2. カンバン管理・グラフによる可視化ができるサービスを調べてみる
  3. GitHub Projectsで管理用のボードを作成
  4. これまでの記事をProjectsに追加してカテゴリ分け
  5. Insightsでグラフ化

今回はGitHub Projectのカンバン・Insightsによる簡単なグラフ化について記載するので、ブログネタに限らずタスク管理などをしたい方の参考になれば嬉しいです。

先に結論(こんな感じで管理始めました)

GithubProjectsで以下のようにカンバンでブログネタの管理を始めました。

20221220_blog_kanban_image

右上の方からInsightsに遷移して、グラフによる可視化もできます。

20221220_github_projects_insights_link

これらはグラフのサンプルです。

20221220_github_projects_insights_image1

20221220_github_projects_insights_image2

私はGitHub課金ユーザーなのですが、GitHub Projectsは今現在無料で利用できるのもポイントですね。

グラフもあまり複雑なものは難しいと思いますが、私の用途なら十分です。

次のセクションからは今回の経緯やGitHub Projectsの設定方法などを紹介していきます。

凄い人たちがブログネタ管理をしているっぽいので真似してみようと思った

私は今年(2022年)の7月にクラスメソッドに入社しました。

それ以前からZennでアウトプットをしていたのですが、技術に関する記事の書き方について考えてきたことがありませんでした。

そこで、「技術ブログ 書き方」や「技術ブログ ネタ探し」といったキーワードで検索しているうちにいくつか記事を読んだりポッドキャストを聞いてみました。

私なりに気づいた点は以下の点です。

高頻度で技術についてアウトプットしている人の共通点

  • ブログネタをストックしている
    • Trelloなどのカンバンボードを利用している人もいれば
    • 簡単にテキストファイルにメモしたり様々だが
    • 「ストーリー」「どんな課題を解決するか」「どんな人が嬉しいか」などを整理されている
  • 毎日技術のアップデート情報などを追っている
  • 「朝にブログを書く」など、生活リズムに組み込まれている
  • その他、記事ごとに属性をつけて管理している方もいる
    • 「どこで学んだ」「どんな技術を」「どんな切り口で」書いているのか把握可能にしていたり

私はまず形から入るタイプですし、ちょっと面白そうだったので、ネタ管理に使えるちょうど良いサービスを探してみることにしました。

【参考】技術ブログの書き方を考えている時に見た・聞いたコンテンツ

見た記事

聞いたポッドキャスト

GitHub Projectsのここが良さそうでした

いくつかツールを検討しましたが、最終的にGitHub Projectsを利用することにしました。

以下のようなことを検討した結果です。

  • どのツールもカンバンでの課題管理は問題なし
  • ただしカスタムフィールドやグラフなどに追加料金や拡張機能が必要そう
  • また、プライベート・仕事双方でアカウント管理が必要になる
    • 仕事のアカウントで管理するとプライベートからアクセスしにくい
  • GitHubなら仕事・プライベート双方からアクセスしやすい
  • グラフ機能も無料で利用できそう
    • もし有料になっても私は平時から課金ユーザーであるため問題なし

また、GitHub Projectsでは各課題をIssueとして起票できるため、コントリビューション(通称「草」)が活発になってモチベーションが湧く という副次的な効果もあります。

20221221_github_projects_kusa_image

モチベーションにつながる要素は多い方が良いですよね。

GitHub Projectsやってみた

ということでProjectsから新規プロジェクトを作成してみます。

20221221_github_projects_kanban_create

とりあえず、Boardを選択してみます。

20221221_github_projects_select_template

よい感じにカンバンボードができました。

20221221_github_projects_board_view

設定画面を開きます。

20221221_github_projects_setting_board_prop

プロジェクト名を変える他、管理したい属性(フィールド)を増やすこともできます。

20221221_github_projects_add_filed

とりあえず、以下のようにいくつか課題を追加してみました。

20221221_github_projects_add_tasks

この時点でグラフを確認してみたいので、Insightsへ移動してみます。

20221221_github_projects_goto_insights

デフォルトでは、ステータスごとのグラフ(チャート)が表示されています。

20221221_github_projects_default_graph

新しいグラフ(チャート)をNew Chartから追加して、Configureで設定してみます。

20221221_github_projects_goto_configure_chart

今回以下のように、横軸を追加した属性の「技術領域」として、同じく追加した「対象(どこで学んだ)」でグループ分けしてみます。

20221221_github_project_configure_chart

以下のようにグラフ(チャート)を表示できました。

20221221_github_projects_create_custom_chart

GitHubのIssueやPRと同じ要領でフィルタリングもできて便利です。

以下は status の属性が Todo であるものを絞り込み表示してみました。

20221221_github_projects_filter_status

これは良い感じですね。

公式のドキュメントに使い方が載っていますが、個人的には以下のような絞り込みをよく使いそうです。

  • 特定の属性が特定の値に一致する
    • status:Todo statusという属性がtodoという値と一致する
  • 日付が○○日以降
    • date:>="2022-7-01" dateというフィールド(日付型)が2022年7月1日以降のもの
  • 日付が○○日以前
    • date:<="2022-12-31"" dateというフィールド(日付型)が2022年12月31日以前のもの

Issue及びPull Requestのフィルタリングと検索 - GitHub Docs

最終的に以下のような形でグラフ(チャート)を作ってみました。

20221221_github_projects_insights_filter

複雑なグラフを作るのは難しいかもしれませんが、私には十分な機能です!

まとめ

  • GitHub Projectsでブログネタ管理を初めてみました
  • いまのところ無料で使えて、個人的に機能も十分
  • ブログ記事の下書きをGit管理しているので一ヵ所で済んで良い

課題管理にカンバン使いたい・グラフを表示したいなどの要望を持っている方にも良いと思いますので、ぜひ一度試してみてください!