NaCl Blog

ドキュメント作業で楽をしたい

プログラマがあまりやりたがらない作業のひとつとしてドキュメント作成がよく挙げられるかと思います。
〇〇仕様書とか〇〇設計書とか〇〇手順書などの作成作業ですね。
特に成果物がdocxやxlsxのようなプレーンテキストでない場合、次のような理由で気が滅入る方も多いのではないでしょうか。

  • 手慣れた道具(エディタ)を使うことができない
  • 専用のソフトでよくわからない機能が裏で勝手に動いたりしてて気持ち悪い
  • 変更履歴をトラッキングしづらい、差分をマージしづらい

Markdownでさくっと書いてそれっぽいものができれば、GitHubのWikiなどにぼちぼち書き溜めておいて最後にコンパイルするみたいなやり方ができるなぁとか、そうすればわざわざドキュメント専用リポジトリを作ったりする必要もないなぁとかモヤモヤしながらいろいろ調査・検討したので以下の4構成でまとめたいと思います。

  1. Pandocについて
  2. Pandocを使って Markdown -> HTML, PDF を作成する
  3. Pandocを使って Markdown -> docx を作成する
  4. Pandocで作られたdocxをRubyで加工する


RubyアプリケーションのABCSizeの目安

チームで開発する際はコーディング規約を決めて行うことが多いと思います。
実際に書いたコードが規約に従っているかどうかを検査するため、筆者はRuboCopを使用しています。
コーディング規約そのものはWeb上に公開されているものを参考にして決めていますが、制限が厳しすぎる等の意見がチーム内であった場合は適宜規約を調整しています。
最近チーム内でABCSizeに基づく警告を出す閾値がもう少し高くても良いのではという意見が出たことをきっかけにいくつかのアプリケーションでの例を調べたので紹介します。



入社のきっかけ

担当の石飛です。
NaClの本社が所在している島根県松江市はRubyCityMATSUEプロジェクト(ウェブサイト, facebook)というRubyによる地域振興を行っています。
私がNaClに入社するきっかけとなったのもこのRubyCityMATSUEプロジェクトが大きく関わっているため、簡単にですが紹介したいと思います。


入力へのこだわり

プログラミングを行う際, 自分の頭の中にあるものをコードに書き起こすという作業が必要となります.
この作業をストレスなく行うために自分が試行錯誤してきたことについて, 簡単にですが記述してみようと思います.