2016-08-04 bouzuya/kraken の CHANGELOG をつくった
bouzuya/bbn-api を進めている。wip branch で雑につくっているため、master branch の commit は進んでいないのだけど……。daily / monthly / yearly の entry を json として出力できるようになった。あとは posts.json / tags.json / atom.xml / sitemap.xml だ。既存の出力結果 (bouzuya/kraken) と比較して、足りないものを補う形で進めている。
上記の進め方もあって、どんどん kraken と似てきた。むしろ kraken のほうが整理できているように見える。同じことをするのなら kraken の v3 をつくればいいのだけど、どうなのだろう。方針を見失いそうなので、kraken の経緯について調べなおした。
blog.bouzuya.net を grep すると次の日付の blog 記事に kraken の名前が出てくる。
- 2014-05-27 kraken の予告
- 2014-06-02 kraken の予告
- 2014-06-11 kraken の下で tentacles を動かす予告
- 2015-05-18 1.0.1
- 2015-05-20 2.x atom.xml および sitemap.xml の追加、CoffeeScript 化
- 2015-05-21 CoffeeScript
- 2015-05-22 fs-extra の導入。クラスの分割。
- 2015-05-25 2.1.0
- 2015-06-06 2.1.2 atom.xml の title の html escape を修正
- 2015-06-06 2.1.3
*.json
を indent しないよう修正
blog 記事だとどうにも要領を得ないので、 bouzuya/kraken の CHANGELOG を書いてみた。ちなみに日付の blog 記事は無関係。
- 2014-05-24 0.1.0 first release. myjekyll の結果を出力する CLI . JavaScript. commander-b / markdown / myjekyll / q. q で async-like な運用. ...0.1.0.
- 2014-06-01 0.2.0
atom.xml
への対応. 0.1.0...0.2.0. - 2014-06-07 0.2.1
sitemap.xml
への対応. 0.2.0...0.2.1. - 2014-06-08 0.3.0
markdown
からmarked
への移行. 0.2.1...0.3.0. - 2014-06-26 0.3.1
tags.json
に count を追加. 0.3.0...0.3.1. - 2014-11-08 0.4.0
minutes
に validation を追加. 未指定時に Error. 0.3.1...0.4.0. - 2015-05-17 1.0.0 version lock. 0.4.0...1.0.0.
- 2015-05-17 1.0.1 fixpack や myjekyll@1.0.0 の lock 1.0.0...1.0.1.
- 2015-05-23 2.0.0 CoffeeScript への移行. myjekyll@2.0.0. fs-extra の追加. gulpfile の追加. q から es6-promise への移行. 1.0.1...2.0.0.
- 2015-05-23 2.1.0
/posts/yyyy-mm-dd.json
から/yyyy/mm/dd.json
などへの移行. 2.0.0...2.1.0. - 2015-05-23 2.1.1
atom.xml
の sort を修正. 2.1.0...2.1.1. - 2015-06-04 2.1.2
atom.xml
の html escape を修正. 2.1.1...2.1.2. - 2015-06-07 2.1.3
*.json
の indent を修正. 2.1.2...2.1.3.
CHANGELOG を書いて、だいたい分かった。
bouzuya/myjekyll の CLI として JavaScript / bouzuya/commander-b を使う形ではじまった。全体としては atom.xml
や sitemap.xml
、 CoffeeScript 化、 gulp 化などの修正を加えながら進んできたようだ。1.0.0 は version lock. 2.0.0 で CoffeeScript へ移行。myjekyll は file への出力はないものの blog の data を管理している。 kraken は myjekyll から受けた data を format して file へ出力する CLI だ。
気になる点は次のとおり。
- kraken と myjekyll を分けている箇所。
- myjekyll は file への O はないものの I は含む。
- kraken は myjekyll の data 構造に依存する。
- myjekyll という名前は、今回のように読み込める形式を増やすと不適切になる。
- jekyll markdown の読み込みは bouzuya/jekyll-markdown-parser にする。
- 別形式での読み込みに対応する。
- semver を厳格に適用できていない。
bouzuya/bbn-api である程度の形をつくったら、それを bouzuya/kraken 側に統合し v3 としたほうが良さそうだ。