🚀

ZennとGitHubを連携してGitHubのIssuesを使って記事を書いてみる、という夢を見た

2020/10/21に公開

開発者にとって馴染み深いIssueを使ったら記事が書きやすくなるんじゃない??

ZennとGitHubのIssueは、どちらもMarkdownで記述してPreviewを見て仕上がりを確認できるプラットフォームですね。
ここでふと夢を見てしまいました。Issueで記事を作る体験って割といいのでは??と。


夢を見た概要

ZennにはGitHub連携をして記事をMarkdown形式でリポジトリに置くだけでZennそばが自動で記事のデプロイをしてくれる仕組みが提供されています。GitHubにはWebサイト上でファイルの追加やIssueの起票によりコミュニケーションを取る場所、Pull Requestによりレビューができる環境が整っています。

GitHubのIssueの機能は強力で、Projectsや各コメントの編集履歴が残ります。ProjectsではZennに存在する分類のTech, Ideas, Booksなどに分けてカラムを作り、合わせてToDoとDoneを設けることで記事を書きたいと思ってタイトルとちょっとしたメモをIssueに起票しProjectsのTodoに挿しておきます。
もちろんProjectsは視認性に長けているため、並行して少しずつ書き進めているものがあった場合にひと目でどのような状況にあるのかがわかります。

この状態を作ることでアイディア帳と記事作成のシームレスな流れをIssue上で作ることができます。
Issue上で記事を完成まで持っていくと、Zennと互換のあるMarkdown形式であるためDeploy Readyです。
これに加えてGit本来の機能を活用することでさまざまな環境でのメモ書きや記事を書く体験が大幅に上がります。

GitHubのWebサイトのみで完結したい場合にはサイト上でブランチを切りZennのフォーマットに沿ってArticleやBookを作成します。ここにIssueのMarkdownをコピペなどしてPull Requestを作成します。
書いた直後は荒があっても見落とすことが多いので、自分自身で最後の見直しとしてレビューしてDeployされるブランチに統合します。

統合した時点で自動でZenn上にデプロイされるためGitHub上のみでネタ出しから投稿までが完了します!!

流れ

  1. 書きたくなった話題などがあれば連携しているリポジトリのIssueに起票します。
  2. 起票したIssueはGitHubの機能を最大限に活用し、LabelsやProjectsなどで進捗状況を管理します。
  3. 執筆が終わったらブランチを切ってArticleを作成します。
  4. 作成したブランチでPRを作成します。
  5. 提出したPRで最後の確認を終えたらデプロイブランチにマージします。
  6. 投稿完了🚀

GitHubのIssueを使った記事のPros/Cons

Pros

  • Issueで起票した案は完全削除されることが無いため、後から見直すことが容易
  • GitHubの工程管理システムに則って書くことができるため、書きたいことが散らかりにくい
  • Issueで記事を書く際に迷った部分などをコメントでつなげていくことができ、最終的に削除する場合のある文章なども残しやすい

Cons

  • Zennのプラットフォームでの執筆体験は失われる
  • 画像アップロードなどは公式提供のアップローダーを使うなどの対処が必要となる場合がある。

終わりに

私個人はこの方法を使って書いています。
ザクっと書きたいことなどをIssueでメモしておいて、後から少しずつ追記して完成に近づけていくやり方とGitHubのシステムの相性はすごく良いです。

色々な書き方などがあると思いますので、GitHubベースの記事作成の流れもできる!ということを夢見た話でした。
それでは良い記事作成ライフを!

Discussion