dictknifeでmarkdownのテーブルの入出力に対応した

github.com

dictknifeでmarkdownのテーブルの入出力に対応した。欲しくなったので。概ねcsvと同様な形。

以下のようなJSONがあるとする。

data.json

[
  {"name": "foo", "age": 20},
  {"name": "bar", "age": 21, "nickname": "B"},
  {"name": "boo"}
]

これをmarkdownの表にした表現は以下の様な形。

$ dictknife cat data.json -o md
| name | age | nickname |
| :--- | ---: | :--- |
| foo | 20 |  |
| bar | 21 | B |
| boo |  |  |

以下の様な方針。

  • 欠損値は "" (空文字列)
  • (load時に欠損した部分のフィールドは設けない)
  • int,floatの場合には右寄せ

reversible

json -> md -> json と変換しても同じ形。

$ cat data.json | dictknife cat -i json -o md | dictknife cat -i md -o json
[
  {
    "name": "foo",
    "age": 20
  },
  {
    "name": "bar",
    "age": 21,
    "nickname": "B"
  },
  {
    "name": "boo"
  }
]

hatenaブログはtableの表示サポートしていたっけ?

生成された表を直接埋め込んだ表示

name age nickname
foo 20
bar 21 B
boo