15 min/d

ぼうずやのにっき

bouzuya/bbn-api をつくりはじめた

bouzuya/bbn-api をつくりはじめた。

bbn-api は bbn : blog.bouzuya.net の json api を提供する。bbn < 4.x (現行) における bouzuya/kraken に相当する。

kraken は yaml header 付きの markdown (ぼくは jekyll markdown と呼んでいる) から json を生成する。bbn-api はその Amazon S3 への upload のための CLI まで兼ねようかと思っている。責務過多になりそうなら npm package を分割するつもりだ。

今回の目標のひとつは jekyll markdown を捨てて meta data jsonmarkdown を分離することだ。あるいは jekyll markdown 用の parser やそれらの parser を選択できるようにしたい。yamlmarkdown の混在が生理的に嫌なので、ね。

前回の実装は CoffeeScript だった。今回の実装は TypeScript 2.0 beta ではじめている。Gulp も使わず、CLI で npm run-scripts で完結させるつもりだ。要するに、いまのぼくの環境に合わせていく。

今回は CI をはやめに設定した。最近は 0.1.0 release 後に CI を設定することが多くて無意味になっているので、はやめに。また、今回は CircleCI ではなく Travis CI で。これは最近の好みの問題。beater あたりから Travis CI に戻ってきている。ちなみに CI を有効にしておくと、beater などの自作 npm package の download も増えて、うれしい。

bbn-api のために bouzuya/time-keeper-js を使おうとして bug に気づいた。npm package に js が含まれていない。原因は package.jsonfiles の指定。files: ["./lib/"] と指定されているのだけど、これだと動かない。files: ["lib"] だと動く。

この対応のために bouzuya/time-keeper-js を 0.2.2 にした。 0.2.0...0.2.2 。同様に bouzuya/bath を 0.1.1 にした。0.1.0...0.1.1

使ってはじめて気づく。dogfooding は大切。