Kaihatsu

api blueprint のインデントでつまずいた

TL;DR

  • API Blueprint の markdown は 4スペース

さて、

synthrendr 的な発想で frontback を分けて開発する潮流がいよいよキテる感じを感じ取ったので今のうちにおれの最高の Webサービス開発ノウハウを貯めておこうとおもって試行錯誤している。

synthAngular にべったりでちょっと触る気力が起きないので、消去法的に rendr かなという話なんだけど、rendr は他に APIサーバがある前提の FW なのでむかしズコーってなった思い出があった。

そこへ API Blueprint が出てきて、

  1. API Blueprint で API のドキュメントを策定する
  2. front は API Blueprint でモックサーバを建てて開発スタート
  3. back は API Blueprint をテストとして開発スタート

というようなフローが実現できるのではと思い至った。ちなみに、rendr を用いる場合 rendr が front になる。back は restify とかで API に専念したような構成にすればいいんじゃないかとおもう。ちなみに、~fy みたいなやつは browserfy の系列なのかと判断する傾向にあるので名前がちょっとびみょい。。

そういうわけでやっと本題なんだけど、API Blueprint の書式でだいぶハマった。書けども書けどもパーサからエラーが返ってくるし、エラーが返ってくる割には行番号ぐらいしか分からないのでなにがダメなのかさっぱりわからなかった。いろいろと試行錯誤するに、インデントが 2スペースだと死んで 4スペースだと通るってことに気付いた。ドキュメントが 4スペで書いてあったら横着せずに 4スペいれろってことですね。そういうわけで、API Blueprint を書くときにはエディタの設定を 4スペにしないとダルい。とはいえ、API Blueprint の拡張子が .md のやつもあれば .apib のやつもあって混乱している。.apib にしてもらえると拡張子マッチさせてインデント差し替えられるから便利なのだけれど。。

エディタでいうと Atom のプレビュープラグインは既にあるので、linter-apib があるといいのかなーと。