AsciiDocのテーブルを入れ子にするにはビックリマーク
photo credit: Trey Ratcliff Boston Library via photopin (license)
AsciiDocのテーブル(表)のセル内に、これまたAsciiDocのテーブルを記述する方法です。
ごくたま~に、これをやりたくなるのですが、いつも書き方を忘れておりまして、 検索しても、なぜか上位のサイトで書き方が説明されていません。
「どこかの英文サイトの深~いところで確か見つけた記憶があるんだけどなあ~」と時間をかけて、やっと見つけて「あぁこれこれよ」という毎度の始末。
ということで、AsciiDocでネストしたテーブルを書く方法を、未来の自分のために書いておきます。時間がもったいないですからね。書いて覚えるスタイルで。
技術者のためのテクニカルライティング入門講座
髙橋 慈子(著)
新品 ¥2,178 27個の評価
Amazon.co.jpで詳細を見る
- 素のテーブル内にAsciiDocは書けません
- テーブル内にAsciiDocを記述する
- セルの中では「| (パイプ or 縦棒)」は使えない
- ネストされたテーブルでは「!」を使う
- それなら3段重ねはどうするの?
以降、このページ内の AsciiDocの変換は、npm miceroux を使っています。 使い方などは以下のページで説明しています。 takamints.hatenablog.jp
素のテーブル内にAsciiDocは書けません
そもそも AsciiDocの素のテーブル内に、AsciiDocを書いても、AsciiDocとして解釈されません。
以下のように、書いた内容がそのまま表示されてしまいます。
[cols="2,2,5"] |=== |Firefox |ブラウザ |FirefoxはオープンソースのWEBブラウザです。 下記のような特徴があります。: * 標準仕様準拠 * 高パフォーマンス * 高い可搬性 http://getfirefox.com[Firefoxをダウンロードする]! |===
ちょっとわかりにくいですが、箇条書きが箇条書きになっていませんね。
リンクが正しく解釈されているのはよくわかりません。
テーブル内にAsciiDocを記述する
セルの中のAsciiDocが正しく表示されるようにするには、セルの属性に a
を設定する必要があります。おそらく asciidoc
の意味ですよね。よく知りませんが。
AsciiDocのテーブルは(当たり前ですが)AsciiDocの文書ですから、この設定をしておかないとテーブルは書けません。
このことは Asciidoctor 文法クイックリファレンス(日本語訳) にしっかり書かれておりまして、文書も丸パクリしています。ちなみにワタシのメインブラウザはChromeです。
以下の例では、AsciiDocを記述する列全体に a
属性を設定しています。
[cols="2,2,5a"] |=== |Firefox |ブラウザ |FirefoxはオープンソースのWEBブラウザです。 下記のような特徴があります。: * 標準仕様準拠 * 高パフォーマンス * 高い可搬性 http://getfirefox.com[Firefoxをダウンロードする]! |===
以下のように、列単位ではなくセル単体に a
属性を設定することも可能です。
a|FirefoxはオープンソースのWEBブラウザです。
セルの中では「| (パイプ or 縦棒)」は使えない
AsciiDocのテーブルは |
(パイプ or 縦棒) を使用して記述します。
テーブル自体が |===
の行で始まって |===
の行で終わります。
また、その中のセルの区切りにも |
を使用します。
しかしセルの中にネストしたテーブルを書くために、これらの記号は使えません。 |===
が出てきたところで、外側のテーブルが終了してしまって意図通りの表示にはなりません。
ネストされたテーブルでは「!」を使う
じゃあ、どうするか?
「ネストしたテーブルでは、|
の代わりに !
(エクスクラメーション or ビックリマーク)を使います」ってことでした。
[cols="2,2,5a"] |=== |Firefox |ブラウザ |FirefoxはオープンソースのWEBブラウザです。 下記のような特徴があります。: * 標準仕様準拠 * 高パフォーマンス * 高い可搬性 http://getfirefox.com[Firefoxをダウンロードする]! [cols="2,2,5a"] !=== !Firefox !ブラウザ !FirefoxはオープンソースのWEBブラウザです。 下記のような特徴があります。: * 標準仕様準拠 * 高パフォーマンス * 高い可搬性 http://getfirefox.com[Firefoxをダウンロードする] !=== |===
それなら3段重ねはどうするの?
「じゃあ、3段階のネストはどうする?」って言うと、、、ワタシそれは知りません(あいすみません)。 できるのかどうかもわからないです。
ま、「そんなテーブルは見にくいだろうし、書かないでしょ?」ってことかもしれませんね。