Defining tables in Asciidoctor is very easy. The start and end of the table are defined by |===
. But if we want to add a new table to a table cell we cannot use the same syntax. To define a nested table we must replace the |
separator with !
. So instead of |===
to indicate the table boundaries we use !===
. Also the cell separators are now !
instead of |
. Finally we must make sure the table cell or column supports Asciidoc markup, so the table is properly created. We must configure the cell or column with a
so the nested table is created.
In the following example Asciidoctor markup we have a simple table with a nested table in the second column and row. Notice we can still apply all table configuration to the nested table as well:
= Tables == Nested tables To nest a table in a table we must use `!` as table separator instead of `|`. Also the type of the column or cell must be set to `a` so Asciidoc markup is processed. [cols="1,2a"] |=== | Col 1 | Col 2 | Cell 1.1 | Cell 1.2 | Cell 2.1 | Cell 2.2 [cols="2,1"] !=== ! Col1 ! Col2 ! C11 ! C12 !=== |===
When we run Asciidoctor to create HTML for this markup we get the following result:
Written with Asciidoctor 1.5.5.