# Pandoc-placetable Filter A Pandoc filter that replaces code blocks (that have the class `table`) with tables generated from CSV. The CSV is read from the code block and from an optional external CSV file and concatenated. There's a flag to enable parsing of inline markdown. Some usage examples: ```{.table file="foo.csv"} ``` ```{.table} some,values even,"with spaces" "with the inlineMarkdown flag enabled","we _can_ write **Markdown** here" ``` ```{.table file="foo.csv" header=yes} Fruit,Quantity,Price ``` ```{.table file="foo.csv" header=yes aligns=LRCRR caption="my caption" delimiter="," quotechar="\"" } ``` All attributes are optional and are specified as follows: - file: The path to the CSV file that is appended to the code block's content - header: If set to `yes`, then the first row of data is interpreted as the table headers. - aligns: For each column, one letter (L, R or C) that specifies the column's alignment. - caption: The table caption. - delimiter: A one-character string used in the CSV to separate fields, defaults to `,`. For characters not allowed standing alone in Pandoc markdown attributes, use `\t` for a tab and `\s` for a space. - quotechar: A one-character string that may be used in the CSV to quote fields containing special characters, defaults to `"`. When compiled with the `inlineMarkdown` flag, the CSV and the caption may contain markdown that will be interpreted. The CSV may even contain multiline markdown in a cell (the field need to be quoted, of course). Note that the flag causes Pandoc to be required as a dependency so it will take a while to build. ## Installation cabal update cabal install pandoc-placetable or with the `inlineMarkdown` flag (see above): cabal install -f inlineMarkdown pandoc-placetable ## Usage Prepare a markdown file containing a [fenced code block](http://pandoc.org/README.html#fenced-code-blocks) like the ones above, then: pandoc --filter pandoc-placetable input.md