カラーミーショップの「新しいショッピングカート」を開発しています、おいちゃん(@inouetakuya)です。
デザイナーの ほらお とタッグを組んで、この ペパボテックブログ をつくりました。先日、ようやく公開まで漕ぎ着けたので、制作段階で検討したこと・やったことをメモしておきたいと思います。
技術的にはとりわけ難しいことはやっていないので、何を検討してどのような理由で決定したか。あと運用フローあたりを中心に書きます。
「うちでも技術ブログをつくろうかと思ってるんだよねー」という方の参考になればと。
これは何で動いてるの?
- このブログは GitHub Pages という静的サイトのホスティングサービスで動いています。
- Middleman という Ruby 製の静的サイトジェネレータを使っています。
- 記事を Markdown で書いて、Middleman で HTML & CSS をビルドし、GitHub Pages にデプロイしています。
どうして GitHub Pages なのか?
おまえんとこの会社、ホスティングサービスやってんじゃん。なんで GitHub Pages なの?
というツッコミが聞こえてきますね。はい。下記のことがやりたかったのでした。
- 記事を Markdown で書きたい
- 記事を GitHub のプルリクエストで管理したい(記事公開に至るまでに広報等のチェックを経るため)
これらを満たすには、Markdown のファイルを Git で管理する必要があり、そうなると、GihHub Pages に git push するのが一番お手軽なのでした。
どうして Middleman なのか?
静的サイトジェネレーターは他にもいろいろありますが、短期間でセットアップしたかったのと、ブログにいろんな情報を出したいという要望が予想されたので、それらに素早く対応できるようにするため、自分の手に馴染んだ Ruby 製のものを選びました。
(この点、実際「書いた人の情報を出したい」「タグをカラフルにしたい」等のいろいろ要望が出てきて、それらに即対応できたので、狙いは的を射ていたと思います)
一方で、Middleman は記事数が増えてくるとビルド時間が増大するという問題を抱えているので、そのような問題が見えてきたら(ビルドが速いと評判の)Hugo 等への乗り換えを検討しようと考えています。
運用フロー
記事公開までに関係部署のチェックを経るようにしています。具体的には下記のような内容を GitHub のプルリクエスト冒頭に貼っています(下記は例です)
CTO チェックリスト
* [ ] 未発表の技術情報が含まれていないか
* [ ] 技術記事としてのクオリティが基準を満たしているか
広報チェックリスト
* [ ] 未発表の情報(業績数字に関すること、人事情報など)が含まれていないか
* [ ] 著作権侵害のおそれのある表現(画像や不適切な引用など)が含まれていないか
* [ ] 無用な批判的言辞が含まれていないか
OK/NG コメントお願いします。
GH:E(GitHub Enterprise)上でプルリクエストを作成し、CTO・広報・野次馬レビュアーのチェックをくぐり抜けたらマージ&公開してよい、というフローです。
記事は誰が書くのか?
誰でも書いてよいことになっています。
デザイナーは別にブログを立ち上げようか、という話も持ち上がったのですが、一緒にやったほうが盛り上がるから一緒にやろうよということになりました。
最後にひと言
技術ブログはたくさんありますが、個人的には クックパッド開発者ブログ がいつも良質な情報が発信されていて、毎回楽しみにしています。
このブログもあのくらいの質・量を目指していきたいなと考えています。
関連リンク
デザイナーのほらおちゃんが下記記事を書いていますのであわせてどうぞ。
また、このテックブログの位置づけについては CTO あんちぽくんの記事をご覧ください。