【Asciidoc】簡単な表を作ってみる
「Asciidoc」の表は「Markdown」のそれと比較すると複雑なことができます。複雑な事が出来る分、構文の構成が細かくなります。また、「Markdown」でも独自拡張を行い複雑な表を表現できるようにしている方々もいます。方言が増えるのは環境整備が大変ですが利用者の選択肢が増えるのは良いことなのでしょう。
さて三度、ハウス食品㈱「こくまろカレー(辛口)」のパッケージをネタにします。「他の材料はないのか?」と問われそうですがレシピ系は手順書(マニュアル)と構造が近いので基本例題にはもってこいなのです。
.材料(8皿分)
[cols="1,1"]
|===
|こくまろカレー〈辛口〉
|1箱(140g)
|肉
|300g
|玉ねぎ
|中2個(400g)
|じゃがいも
|中2個(300g)
|にんじん
|中1本(200g)
|サラダ油
|大さじ2
|水
|1000ml(鍋に蓋をする場合は850ml)
|===
変換すると下記の画像のようになります。
利用する材料表や資材一覧のようなものは表形式と相性が良いですね。スッキリとした見た目になります。
さて、表作成ではまず列属性(cols)を定義します。
[cols="1,1"]は「列属性は幅1、幅1」と読めば良い、または「幅1、幅1の2列がある」と読むか。。。読めれば書けるように成ります。[cols="33,66"]と書いて「幅33%、幅66%の2列がある」と読むのもよし、「??[cols="1,2"]で良くないか?」と変更するのも良しです。
表本体は「|===」開始と終了を定義します。「HTML」の「<table>」要素に置き換えられると思えば違和感が減ると思います。
セルの開始は「|(半角のパイプ)」で記述します。セルの終了マークはありません。この辺は軽量マークアップ言語特有の構造ですね(そのうち、ブロックの話と混ぜて記事にしたいと思います)。
さて、ヘッダをつけて列バランスを変えたも例を作ってみましょう。
.材料(8皿分)
[%header,cols="1,2"]
|===
|材料|分量
|こくまろカレー〈辛口〉
|1箱(140g)
|肉
|300g
|玉ねぎ
|中2個(400g)
|じゃがいも
|中2個(300g)
|にんじん
|中1本(200g)
|サラダ油
|大さじ2
|水
|1000ml(鍋に蓋をする場合は850ml)
|===
変換表示すると次のようになります。
如何でしょうか?
今回は「Markdown」でも表現できるレベルの表になっています。
多くの人が「Markdown」から「Asciidoc」に移行する理由である「セル結合」等については次回以降に…ではまた。
当Noteは下記の「AsciiDoc Language Documentation」の文法に従っています。