tdast-util-to-markdown-table
v0.1.2
Published
tdast utility to serialize tdast to markdown table (GFM)
Downloads
4
Maintainers
Readme
tdast-util-to-markdown-table
tdast utility to serialize tdast to markdown table (GFM).
Install
npm install tdast-util-to-markdown-table
Use
Use with a tdast table node,
import toMarkdownTable from 'tdast-util-to-markdown-table';
const tdast = {
type: 'table',
children: [
{
type: 'row',
index: 0,
children: [
{
type: 'column',
index: 0,
value: 'col0',
},
{
type: 'column',
index: 1,
value: 'col1',
},
{
type: 'column',
index: 2,
value: 'col2',
},
],
},
{
type: 'row',
index: 1,
children: [
{
type: 'cell',
columnIndex: 0,
rowIndex: 1,
value: 'row1col0',
},
{
type: 'cell',
columnIndex: 1,
rowIndex: 1,
value: 'row1col1',
},
{
type: 'cell',
columnIndex: 2,
rowIndex: 1,
value: 'row1col2',
},
],
},
{
type: 'row',
index: 2,
children: [
{
type: 'cell',
columnIndex: 0,
rowIndex: 2,
value: 'row2col0',
},
{
type: 'cell',
columnIndex: 1,
rowIndex: 2,
value: 'row2col1',
},
{
type: 'cell',
columnIndex: 2,
rowIndex: 2,
value: 'row2col2',
},
],
},
],
};
console.log(toMarkdownTable(tdast));
yields a serialized markdown table.
| col0 | col1 | col2 |
| -------- | -------- | -------- |
| row1col0 | row1col1 | row1col2 |
| row2col0 | row2col1 | row2col2 |
Easily use this markdown table with any markdown content!
API
toMarkdownTable(tdast[, options])
Interface
function toMarkdownTable(
/** A valid tdast Table node */
tdast: Table,
/** Configurable options (compatible with tdast-util-to-hast-table's options) */
options?: Options,
): string;
Serializes a tdast Table
node into a markdown table. Note that markdown tables are not commonmark-compliant and are based on GFM.
Uses tdast-util-to-hast-table
under the hood to transform the tdast Table
node into a hast table node, then transforms to mdast via hast-util-to-mdast
, and finally applies mdast-util-to-markdown
to serialize the mdast node into a markdown string. For more details, please refer to tdast-util-to-hast-table
for behaviors of transformed nodes.
Related interfaces
interface Options {
/** use the `label` property of a tdast `Column` node for the text value of a hast thead node. */
useColumnLabel?: boolean;
}