カンマ区切りの文字列でHTMLテーブルを表現できる。
成果物
AsciiDoctor.Table.CSV.DSV.PSV.201705091939
開発環境
前回まで
http://ytyaru.hatenablog.com/entry/2018/02/02/000000
冗長さと多機能さのはざまで揺れる乙女心。
CSVでテーブルを書ける
[format="csv", options="header"] |==== 名前,価格 私,2 お前,9 彼,7 彼女,30 虫,8000 |====
format="csv"
とすることでカンマ区切りの文字列でテーブルが書ける。素敵。コピペマンには嬉しい。
簡易記法
[options="header, autowidth"] ,==== 名前,価格 彼,7 彼女,30 ,====
format="csv"
を,====
で代用した。まさか|====
にそんな役目があったとは。冗長とか言ってすみませんでした。
デリミタ
以下のデリミタが使える。デフォルトはpsv。
名前 | デリミタ |
---|---|
psv | | |
csv | , |
dsv | : |
デリミタ:
[format="dsv", options="header, autowidth"] |==== 名前:価格 私:2 虫:8000 |====
別にいいけど、あんまり使わないと思う。
まとめ
デリミタ|
[options="header, autowidth"] |==== |名前|価格 |彼|7 |彼女|30 |====
[format="psv", options="header, autowidth"] |==== |名前|価格 |彼|7 |彼女|30 |====
[options="header, autowidth"] |==== |名前|価格 |彼|7 |彼女|30 |====
なぜかpsvのときだけデータ行の先頭にも|
が必要。たぶん>|
などで右寄せするなど指定するため?
デリミタ,
[options="header, autowidth"] ,==== 名前,価格 彼,7 彼女,30 ,====
[format="csv", options="header, autowidth"] |==== 名前|価格 彼|7 彼女|30 |====
デリミタ:
[options="header, autowidth"] :==== 名前,価格 彼,7 彼女,30 :====
[format="dsv", options="header, autowidth"] |==== 名前|価格 彼|7 彼女|30 |====
TSVが使えない…
方法はあるのかも知れないがドキュメントにも書いていないから無いと思う。
format=“tsv”
[format="tsv", options="header, autowidth"] ==== 名前 価格 私 2 虫 8000 ====
$ rbenv exec asciidoctor test.asc asciidoctor: FAILED: /tmp/test.asc: Failed to load AsciiDoc document - Illegal table format: tsv (RuntimeError) Use --trace for backtrace
format="tsv"
とするとエラーになる。
|====
を\t====
にする
[options="header, autowidth"] ==== 名前 価格 私 2 虫 8000 ====
コードブロック化されてしまった。
各種フォーマットに\t
[format="csv", options="header, autowidth"] |==== 名前 価格 私 2 虫 8000 |====
[format="dsv", options="header, autowidth"] |==== 名前 価格 私 2 虫 8000 |====
[format="psv", options="header, autowidth"] |==== |名前 価格 |私 2 |虫 8000 |====
分割できていない。
参考
所感
なんとTSVが使えない。:
があってTABがないとは何事か。私をハードタブ教団四代目名誉会長と知っての狼藉か?なにか方法があると信じたい。