aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-12-11Custom reader: pass list of sources instead of concatenated textAlbert Krewinkel6-15/+104
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-12-10Lua tests: remove roundtrip testsAlbert Krewinkel1-31/+4
Property tests that roundtrip elements through the Lua stack are performed in the test-suite of the pandoc-lua-marshal package. No need to test this here as well.
2021-12-10Powerpoint tests: shorten lines by grouping testsAlbert Krewinkel1-189/+186
This makes the test output more pleasant to read in narrow terminal windows.
2021-12-10Switch to released pandoc-lua-marshal-0.1.2Albert Krewinkel5-8/+12
Cell values are now marshaled as userdata objects; a constructor function for table cells is provided as `pandoc.Cell`.
2021-12-09ipynb writer: handle cell output with raw block of markdown (#7563)Kolen Cheung5-0/+518
Write RawBlock of markdown in code-cell output. #7561 makes the ipynb reader reads code-cell output with mime "text/markdown" to a RawBlock of markdown This commit makes the ipynb writer writes this RawBlock of markdown back inside a code-cell output with the same mime, preserving this information in round-trip Add tests of ipynb reader (#7561) and ipynb writer (#7563)'s ability to handle a "text/markdown" mime type in a code-cell output
2021-12-09Lua: update to latest pandoc-lua-marshal (0.1.1)Albert Krewinkel8-432/+211
- `walk` methods are added to `Block` and `Inline` values; the methods are similar to `pandoc.utils.walk_block` and `pandoc.utils.walk_inline`, but apply to filter also to the element itself, and therefore return a list of element instead of a single element. - Functions of name `Doc` are no longer accepted as alternatives for `Pandoc` filter functions. This functionality was undocumented.
2021-12-08Ipynb writer: ensure deterministic order of keys.John MacFarlane1-1/+1
2021-12-08Use latest dev version of ipynb.John MacFarlane2-2/+2
This should give us deterministic JSON output for mime bundles.
2021-12-07Add test for #7738.John MacFarlane1-0/+6
2021-12-07Revert "Markdown reader: Improve inlinesInBalancedBrackets."John MacFarlane1-12/+20
This reverts commit fa83246d7de8527bbf59dfac9636a42ede185194.
2021-12-06Ipynb reader & writer: properly handle cell "id".John MacFarlane8-42/+85
This is passed through if it exists (in Nb4); otherwise the writer will add a random one so that cells all have an "id". Closes #7728.
2021-12-06custom-writers.md: use filter to include source of example.John MacFarlane1-0/+4
2021-12-06Ms writer: properly encode strings for PDF contents.John MacFarlane1-2/+19
Closes #7731.
2021-12-05Commonmark writer: allow ')' delimiters on ordered lists.John MacFarlane1-1/+6
2021-12-03Improve Markdown writer escaping.John MacFarlane7-23/+46
This fixes escaping for '#' in particular. Closes #7726.
2021-12-02Allow unicode-transforms 0.4.0.John MacFarlane2-1/+3
2021-12-02Suggest VSCode as a possible editor in getting-started.md.John MacFarlane1-0/+1
2021-12-01Re-add top heading in changelog but as a level-1 heading.John MacFarlane1-0/+2
2021-11-30Remove useless first heading in changelog.John MacFarlane1-2/+0
2021-11-30Markdown reader: don't allow `^` at beginning of link or image label.John MacFarlane2-2/+9
This is reserved for footnotes. Fixes a regression introduced by 0a93acf. Closes #7723.
2021-11-30Update cabal description.John MacFarlane1-24/+28
2021-11-30Fix typo. Closes jgm/pandoc-website#54.John MacFarlane1-1/+1
2021-11-29Lua: remove `pandoc.utils.text` (#7720)Albert Krewinkel3-54/+0
The new `pandoc.Inlines` function behaves identical on string input, but allows other Inlines-like arguments as well. The `pandoc.utils.text` function could be written as function pandoc.utils.text (x) assert(type(x) == 'string') return pandoc.Inlines(x) end
2021-11-29fix typo in custom-readers.md (#7722)Mauro Bieg1-1/+1
2021-11-28Bump pandoc-lua-marshall lower bound to 0.1.0.1 in cabal file.John MacFarlane1-1/+1
Closes #7721.
2021-11-28stack.yaml: use pandoc-lua-marshal-0.1.0.1Albert Krewinkel1-2/+1
2021-11-28doc/lua-filters.md: update docs on Blocks, Inlines, MetaValueAlbert Krewinkel1-75/+79
2021-11-28Lua: add constructors `pandoc.Blocks` and `pandoc.Inlines`Albert Krewinkel3-1/+44
The functions convert their argument into a list of Block and Inline values, respectively.
2021-11-28Use published pandoc-lua-marshal packageAlbert Krewinkel1-5/+0
2021-11-27Lua: use package pandoc-lua-marshal (#7719)Albert Krewinkel31-2893/+308
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.
2021-11-24LaTeX reader: Fix semantics of `\ref`.John MacFarlane2-6/+4
We were including the ams environment type in addition to the number. This is proper behavior for `\cref` but not for `\ref`. To support `\cref` we need to store the environment label separately.
2021-11-24LaTeX reader: improve references.John MacFarlane4-5/+27
- Resolve references to theorem environments. - Remove Span caused by "label" in figure, table, and theorem environments; this had an id that duplicated the environments' id. See #813.
2021-11-24LaTeX reader: omit visible content for `\label{...}`.John MacFarlane2-5/+2
Previously we included the text of the label in square brackets, but this is undesirable in many cases. See discussion in <https://github.com/jgm/pandoc/issues/813#issuecomment-978232426>.
2021-11-24HTML reader: parse attributes on links and images.John MacFarlane4-13/+24
Closes #6970.
2021-11-24Lua: allow single elements as singleton MetaBlocks/MetaInlinesAlbert Krewinkel2-1/+22
Single elements should always be treated as singleton lists in the Lua subsystem.
2021-11-23Improve detection of pipe table line widths.John MacFarlane3-20/+52
Fixed calculation of maximum column widths in pipe tables. It is now based on the length of the markdown line, rather than a "stringified" version of the parsed line. This should be more predictable for users. In addition, we take into account double-wide characters such as emojis. Closes #7713.
2021-11-23Simplify sample ris reader in doc/custom-readers.md.John MacFarlane1-22/+9
Made possible by #7712.
2021-11-23Lua: add function `pandoc.utils.text` (#7710)Albert Krewinkel4-2/+57
The function converts a string to `Inlines`, treating interword spaces as `Space`s or `SoftBreak`s. If you want a `Str` with literal spaces, use `pandoc.Str`. Closes: #7709
2021-11-23Lua: split strings into words when treating them as Inline list (#7712)Albert Krewinkel2-6/+33
Using a Lua string where a list of inlines is expected will cause the string to be split into words, replacing spaces and tabs into `pandoc.Space()` elements and newlines into `pandoc.SoftBreak()`. The previous behavior was to treat the string `s` as `{pandoc.Str(s)}`. The old behavior can be recovered by wrapping the string into a table `{s}`.
2021-11-22Add an example to custom-readers.md.John MacFarlane1-0/+52
2021-11-22Add .yml to Citeproc formatFromExtension (#7706)Jörn Krenzer1-0/+1
Make Citeproc recognize files with .yml extension (in addition to .yaml) as YAML bibliographies. Closes #7707.
2021-11-21cabal.project: remove spurious source package stanza for texmath.John MacFarlane1-4/+4
Unfortunately this means that the release binaries for 2.16.2 weren't built with all of the texmath improvements.
2021-11-21Fix top-level header on changelog.John MacFarlane1-1/+1
2021-11-21Update changelog.John MacFarlane1-0/+6
2021-11-21yamlBsToRefs: allow multiple YAML documents.John MacFarlane1-2/+2
Some people use `---` as the end delimiter in YAML bibliography files, which causes the `yaml` library to emit an error unless we explicitly allow multiple YAML documents (and just consider the first). In T.P.Readers.Metadata
2021-11-21Update AUTHORS.mdJohn MacFarlane1-0/+4
2021-11-21Add custom-writers.md.John MacFarlane2-4/+55
2021-11-21Minor changelog edits.Albert Krewinkel1-7/+3
2021-11-21Rename doc/custom-reader.lua to doc/custom-readers.mdAlbert Krewinkel1-0/+0
2021-11-20Update man page.John MacFarlane2-13/+43