CSV

Instead of aligning tables using one of the standard Markdown extensions, you can use your CSV editor of choice. :include-table: table.csv In this way, the following CSV file... Account, Price, Description #12BGD3, 100, custom table with a long attachment #12BGD4, 90, custom table with a short attachment #12BGD5, 150, chair #91AGB1, 10, lunch ...will render like so: Account Price Description #12BGD3 100 custom table with a long attachment #12BGD4 90 custom table with a short attachment #12BGD5 150 chair #91AGB1 10 lunch

JSON

This extension can be used to display data from a JSON file representing tabular data. :include-table: table.json So the following JSON file... [ { "Account": "#12BGD3", "Price": 100, "Description": "custom table with a long attachment" }, { "Account": "#12BGD3", "Price": 150, "Description": "chair" }, { "Account": "#91AGB1", "Price": 10, "Description": "lunch" } ] ...will render like so: Account Price Description #12BGD3 100 custom table with a long attachment #12BGD3 150 chair #91AGB1 10 lunch

Title

Use title parameter to set a table title. :include-table: table.json {title: "Monthly Report"} Account Price Description #12BGD3 100 custom table with a long attachment #12BGD3 150 chair #91AGB1 10 lunch

Anchor

When you specify a title, hover mouse over it to see a clickable anchor.Use anchorId to override auto generated identifier. :include-table: table/table.json {title: "Monthly Report", anchorId: "my-super-table"} Account Price Description #12BGD3 100 custom table with a long attachment #12BGD3 150 chair #91AGB1 10 lunch

Collapse

Use collapsed: true|false to make image collapsible. Note: title option is required markdown :include-table: table/table.json { title: "Monthly Report", collapsed: true } Account Price Description #12BGD3 100 custom table with a long attachment #12BGD3 150 chair #91AGB1 10 lunch

No Gap

Use noGap: true to remove top/bottom margins when there are multiple tables in a row. markdown :include-table: table/table.json { title: "Monthly Report", collapsed: true, noGap: true } :include-table: table/table.json { title: "Weekly Report", collapsed: false } Account Price Description #12BGD3 100 custom table with a long attachment #12BGD3 150 chair #91AGB1 10 lunch Account Price Description #12BGD3 100 custom table with a long attachment #12BGD3 150 chair #91AGB1 10 lunch

Highlight

Use highlightRow to highlight a row, or a set of rows by their index :include-table: table/table.json {title: "Highlight multiple rows", highlightRow: [0, 2]} Account Price Description #12BGD3 100 custom table with a long attachment #12BGD3 150 chair #91AGB1 10 lunch :include-table: table/table.json {title: "Highlight single row", highlightRow: 1} Account Price Description #12BGD3 100 custom table with a long attachment #12BGD3 150 chair #91AGB1 10 lunch

Arrange and Remove Columns

To change the order of columns or to filter out certain columns, specify the columns parameter. :include-table: table.csv {columns: ["Description", "Price"]} Description Price custom table with a long attachment 100 custom table with a short attachment 90 chair 150 lunch 10

Filter Rows

Use to include only rows that match a regular expression :include-table: table/table.csv {includeRowsRegexp: ["table", "cha.."]} Account Price Description #12BGD3 100 custom table with a long attachment #12BGD4 90 custom table with a short attachment #12BGD5 150 chair Use to exclude rows that match a regular expression :include-table: table/table.csv {includeRowsRegexp: ["table", "cha.."], excludeRowsRegexp: "short"} Account Price Description #12BGD3 100 custom table with a long attachment #12BGD5 150 chair

Width

By default, columns width is auto-calculated to fit the values inside. Use width to control the width of a column. :include-table: table.csv {Price: {width: 200}, "Description": {width: 400}} Account Price Description #12BGD3 100 custom table with a long attachment #12BGD4 90 custom table with a short attachment #12BGD5 150 chair #91AGB1 10 lunch Use percentage value to change column size relative to the page content width. :include-table: table/table.csv {Price: {width: "50%"}, "Description": {width: "30%"}} Account Price Description #12BGD3 100 custom table with a long attachment #12BGD4 90 custom table with a short attachment #12BGD5 150 chair #91AGB1 10 lunch Note: total percentage of all columns can go above 100%, in which case a scroll bar will be used to fit the content :include-table: table/table.csv {Price: {width: "50%"}, "Description": {width: "60%"}} Account Price Description #12BGD3 100 custom table with a long attachment #12BGD4 90 custom table with a short attachment #12BGD5 150 chair #91AGB1 10 lunch

Column Names Conflict

Use _ prefix if a column name matches the plugin parameter name like title when setting column specific parameters. :include-table: table/table-conflict.csv {"_title": {width: "80%"}} account title #12BGD3 custom table with a long attachment #12BGD4 custom table with a short attachment

Min Width

Use minColumnWidth to set min width for all table columns :include-table: table/table.csv {minColumnWidth: 400, "Description": {width: 500}} Account Price Description #12BGD3 100 custom table with a long attachment #12BGD4 90 custom table with a short attachment #12BGD5 150 chair #91AGB1 10 lunch

Wide Mode

Use wide: true to make table occupy all available width :include-table: table/table.csv {wide: true, minColumnWidth: 400, title: "My Items"} Account Price Zip Code Rating Description #12BGD3 100 11111 4 custom table with a long attachment #12BGD3 150 22222 5 chair #91AGB1 10 33333 4.5 lunch

Text Alignment

Use align to change a column text alignment. :include-table: table.csv {Price: {width: 200, align: "right"}} Account Price Description #12BGD3 100 custom table with a long attachment #12BGD4 90 custom table with a short attachment #12BGD5 150 chair #91AGB1 10 lunch JSON data example: :include-table: table.json {Price: {width: 100, align: "right"}} Account Price Description #12BGD3 100 custom table with a long attachment #12BGD3 150 chair #91AGB1 10 lunch

Mapping

Use mappingPath to provide a way to override table values using mapping table. Feature Name, V1, V2 featureA, +, + featureB, -, + +, `:icon: check {stroke: "green"}` -, `:icon: slash {stroke: "red"}` :include-table: table.csv {mappingPath: "mapping.csv"} Feature Name V1 V2 featureA `:icon: check {stroke: "green"}` `:icon: check {stroke: "green"}` featureB `:icon: slash {stroke: "red"}` `:icon: check {stroke: "green"}` Note: We used visuals/icons Icons in this example, but you can use any plugins or any text you want.

Inlined

```table {title: "my table", Price: {width: 100, align: "right"}} Account, Price, Description #12BGD3, 100, custom table with a long attachment #12BGD3, 150, chair #91AGB1, 10, lunch ``` Account Price Description #12BGD3 100 custom table with a long attachment #12BGD3 150 chair #91AGB1 10 lunch

Multiline Content

Use quotes to provide multi line markdown content such as bullet points and code snippets Account, Price, Description #12BGD3, 100, "multi line markdown with * bullet point * list " #12BGD3, 150, "and some code snippet ```java class HelloWorld { } ``` " Account Price Description #12BGD3 100 multi line markdown with * bullet point * list #12BGD3 150 and some code snippet ```java class HelloWorld { } ```

Markdown in Cells

You can use Markdown table syntax within your table file. Account, Price, Description #12BGD3, 100, **custom** table with a long attachment #12BGD3, 150, chair #91AGB1, 10, `lunch` Account Price Description #12BGD3 100 **custom** table with a long attachment #12BGD3 150 chair #91AGB1 10 `lunch`

Github Flavored Table

| Github | Flavored | Table | | ------------- |:-------------:| -----:| | col 3 is | right-aligned | $1600 | | col 2 is | centered | $12 | Github Flavored Table [{text=col 3 is, type=SimpleText}] [{text=right-aligned, type=SimpleText}] [{text=$1600, type=SimpleText}] [{text=col 2 is, type=SimpleText}] [{text=centered, type=SimpleText}] [{text=$12, type=SimpleText}]