visitTable method
Implementation
@override
String visitTable(TableNode node) {
if (node.rows.isEmpty) return '<table></table>';
final buffer = StringBuffer('<table>\n');
final alignments = node.alignments;
final headerRow = node.rows.first;
buffer.write('<thead>\n<tr>\n');
for (var i = 0; i < headerRow.cells.length; i++) {
final cell = headerRow.cells[i];
final alignAttr = _alignAttribute(
i < alignments.length ? alignments[i] : TableAlignment.none,
);
buffer.write(' <th$alignAttr>${cell.content.accept(this)}</th>\n');
}
buffer.write('</tr>\n</thead>\n');
if (node.rows.length > 1) {
buffer.write('<tbody>\n');
for (var r = 1; r < node.rows.length; r++) {
final row = node.rows[r];
buffer.write('<tr>\n');
for (var c = 0; c < row.cells.length; c++) {
final cell = row.cells[c];
final alignAttr = _alignAttribute(
c < alignments.length ? alignments[c] : TableAlignment.none,
);
buffer.write(' <td$alignAttr>${cell.content.accept(this)}</td>\n');
}
buffer.write('</tr>\n');
}
buffer.write('</tbody>\n');
}
buffer.write('</table>');
return buffer.toString();
}