-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
If some cells are undefined, the filter can generate an invalid AST. For example, with this markdown:
::: list-table
* - A
- B
* - 1
:::
...we get the following (edited to show just the offending rows; rep.lua reports the AST using the logging module; see below):
% pandoc-3.1.8 -L list-table.lua list-table-bug.md -L rep.lua -t html -o /dev/null
(#) blocks Blocks[1] {
[1] Table {
...
bodies: List[1] {
[1] {
...
body: List[1] {
[1] pandoc.Row {
...
cells: List[1] {
[1] pandoc.Cell {
alignment: "AlignDefault"
attr: Attr {
attributes: AttributeList {}
classes: List {}
identifier: ""
}
col_span: 1
contents: Blocks[1] {
[1] Plain {
content: Inlines[1] {
[1] Str "1"
}
}
}
row_span: 1
}
}
}
}
...
The row only contains a single cell, so this is an invalid AST and isn't handled correctly by all writers (see jgm/pandoc#9096 for further discussion).
The filter should be updated to add empty cells for any missing ones.
Here's rep.lua
local logging = require 'logging'
function Pandoc(pandoc)
if logging.loglevel > 0 then
logging.temp('meta', pandoc.meta)
end
logging.temp('blocks', pandoc.blocks)
end
Metadata
Metadata
Assignees
Labels
No labels