aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Lua/Marshal
AgeCommit message (Collapse)AuthorFilesLines
2021-12-20Lua: use more natural representation for Reference valuesAlbert Krewinkel1-6/+12
Omit `false` boolean values, push integers as numbers.
2021-12-17Lua: add function `pandoc.utils.references`Albert Krewinkel1-0/+101
List with all cited references of a document. Closes: #7752
2021-12-11Custom reader: pass list of sources instead of concatenated textAlbert Krewinkel1-0/+46
The first argument passed to Lua `Reader` functions is no longer a plain string but a richer data structure. The structure can easily be converted to a string by applying `tostring`, but is also a list with elements that contain each the *text* and *name* of each input source as a property of the respective name. A small example is added to the custom reader documentation, showcasing its use in a reader that creates a syntax-highlighted code block for each source code file passed as input. Existing readers must be updated.
2021-11-27Lua: use package pandoc-lua-marshal (#7719)Albert Krewinkel4-0/+282
The marshaling functions for pandoc's AST are extracted into a separate package. The package comes with a number of changes: - Pandoc's List module was rewritten in C, thereby improving error messages. - Lists of `Block` and `Inline` elements are marshaled using the new list types `Blocks` and `Inlines`, respectively. These types currently behave identical to the generic List type, but give better error messages. This also opens up the possibility of adding element-specific methods to these lists in the future. - Elements of type `MetaValue` are no longer pushed as values which have `.t` and `.tag` properties. This was already true for `MetaString` and `MetaBool` values, which are still marshaled as Lua strings and booleans, respectively. Affected values: + `MetaBlocks` values are marshaled as a `Blocks` list; + `MetaInlines` values are marshaled as a `Inlines` list; + `MetaList` values are marshaled as a generic pandoc `List`s. + `MetaMap` values are marshaled as plain tables and no longer given any metatable. - The test suite for marshaled objects and their constructors has been extended and improved. - A bug in Citation objects, where setting a citation's suffix modified it's prefix, has been fixed.