名前はKorという、これまた厨二ネーミング。*1
rubygemsとして実装したので、
$ gem install kor
でインストールできます。
csvやtsv、markdownのテーブル表記を、 これまたcsvやtsv、markdownに変換できる、 しかもプラガブルに拡張可能。 というやつです。
イメージ図
+----------+ +-----+ +----------+ | csv | => | | => | csv | +----------+ | | +----------+ +----------+ | | +----------+ | tsv | => | kor | => | tsv | +----------+ | | +----------+ +----------+ | | +----------+ | markdown | => | | => | markdown | +----------+ +-----+ +----------+
使い方はcliだと、標準入力に変換前データを入力すると、標準出力に変換後のデータを出力します。
$ cat << CSV | kor csv markdown foo,bar,baz 100,200,300 400,500,600 CSV | foo | bar | baz | | --- | --- | --- | | 100 | 200 | 300 | | 400 | 500 | 600 |
これを使えば、「君がくれたよくわかない(markdownのテーブルを見て)形式のデータ、エクセルで見たいからcsvにしてほしいんだけど。」 と突然言われても大丈夫。*2
$ kor markdown csv < table.md > table.csv
という感じで変換できます。
プラグインは入力(input)と出力(output)に分かれていて、 デフォルトでそれぞれにcsv,tsv,markdownを用意しています。
例えばcsvをjsonに変換したければrequire 'kor/output/json'
で動くgemをつくって、
kor csv json
とよべばOK。
やはりプラガブルな機構にするなら、Rubyが楽そうですね*3。書ける人も多いし。
まだまだ発展しようがある部分も多いですが、いったん最低限の部分ができたのでリリースしてみました。
皆様のご意見をお待ちしております。