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 #12BGD3, 150, chair #91AGB1, 10, lunch ...will render like so: Account Price Description #12BGD3 100 custom table with a long attachment #12BGD3 150 chair #91AGB1 10 lunch

JSON

A similar 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

Arrange and Filter

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 chair 150 lunch 10

Alignment and Width

By default column width is auto-calculated to fit the values inside. But you can control the width with the extra options. :include-table: table.csv {Price: {width: 200}, "Description": {width: 400}} Account Price Description #12BGD3 100 custom table with a long attachment #12BGD3 150 chair #91AGB1 10 lunch And if you need to change a column alignment from default left to right just add the align property. :include-table: table.csv {Price: {width: 200, align: "right"}} Account Price Description #12BGD3 100 custom table with a long attachment #12BGD3 150 chair #91AGB1 10 lunch You can do the same for JSON data: :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` -, `:icon: slash` :include-table: table.csv {mappingPath: "mapping.csv"} Feature Name V1 V2 featureA `:icon: check` `:icon: check` featureB `:icon: slash` `:icon: check`

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

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}]