aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-12-21Lua: simplify code of pandoc.utils.stringifyAlbert Krewinkel2-44/+25
Minor behavior change: plain strings nested in tables are now included in the result string.
2021-12-21Lua tests: add more tests for `pandoc.utils.stringify`.Albert Krewinkel1-2/+45
2021-12-21Lua: simplify and deprecate function `pandoc.utils.equals`Albert Krewinkel4-20/+26
The function is no longer required for element comparisons; it is now an alias for the `==` operator.
2021-12-21Lua: add tests for pandoc.utils.equalsAlbert Krewinkel1-0/+40
2021-12-21Put sourcepos attribute on header, not enclosing div...John MacFarlane2-0/+9
with `-f commonmark+sourcepos`. Closes #7769.
2021-12-21Lua: add new library function `pandoc.utils.type`.Albert Krewinkel3-1/+87
The function behaves like the default `type` function from Lua's standard library, but is aware of pandoc userdata types. A typical use-case would be to determine the type of a metadata value.
2021-12-21Lua: fix return types of `blocks_to_inlines`, `make_sections`Albert Krewinkel1-2/+2
Ensures the returned lists have the correct type (`Inlines` and `Blocks`, respectively).
2021-12-20Lua: use more natural representation for Reference valuesAlbert Krewinkel3-7/+38
Omit `false` boolean values, push integers as numbers.
2021-12-19Custom writer: assign default Pandoc object to global PANDOC_DOCUMENTAlbert Krewinkel1-9/+3
The default Pandoc object is now non-strict, i.e., only the parts of the document that are accessed will be marshaled to Lua. A special type is no longer necessary. This change also makes it possible to use the global variable with library functions such as `pandoc.utils.references`, or to inspect the document contents with `walk()`.
2021-12-19Add a writer for Markua 0.10 (#7729)binaarinen15-70/+1043
Markua is a markdown variant used by Leanpub. More information about Markua can be found at https://leanpub.com/markua/read. Adds a new exported function `writeMarkua` from T.P.Writers.Markdown. [API change] Closes #1871. Co-authored by Tim Wisotzki and Samuel Lemmenmeier.
2021-12-19JATS writer: keep quotes in element-citationsAlbert Krewinkel1-5/+5
The JATS writer was losing quotes in element-citations, as it uses the `T.P.Citeproc.getReferences` function to get references. That function replaces `Quoted` elements with spans. That transformation is required in `T.P.Citeproc.processCitations`, so it has been moved there.
2021-12-19doc/lua-filters: numbers are now accepted as MetaValueAlbert Krewinkel1-1/+1
2021-12-19Lua: fixup, should have been part of previous commitAlbert Krewinkel2-3/+6
2021-12-19Lua: change representation of TableHead, TableFoot, and Row values.Albert Krewinkel3-17/+80
The objects now also follow the principle that element attributes are accessible through the `.attr` field. Rows in `TableHead` and `TableFoot` are available via the `.rows` field. Row objects have a `.cells` field, containing the list of table cells. Closes: #7718
2021-12-18Citeproc: avoid adding comma before an author-in-text citation...John MacFarlane2-8/+49
...in a note if it begins with a title (no author). Closes #7761.
2021-12-18Improve 'make check'.John MacFarlane2-10/+15
2021-12-18Use latest doctemplates, commonmark-extensions in stack.yaml.John MacFarlane1-2/+2
2021-12-17Lua: add function `pandoc.utils.references`Albert Krewinkel4-0/+148
List with all cited references of a document. Closes: #7752
2021-12-15T.P.Citeproc: do not export getStyle, getCiteprocLang.John MacFarlane1-2/+0
This commit undoes the API changes noted in ea77f2e6f653d5b570109fa208dc427d99f95b51 They are no longer needed, and we should avoid unnecessary API changes.
2021-12-14Use dev texmath.John MacFarlane2-5/+6
2021-12-14Org writer: use the citation locator list from the org source code...John MacFarlane1-13/+61
which is not localized, instead of getting locators from the localized CSL stylesheet as we did before.
2021-12-14Org reader: parse official org-cite citations.John MacFarlane3-44/+218
We also support the older org-ref style as a fallback. We no longer support the "markdown-style" citations. See #7329.
2021-12-14Markdown writer: avoid extra space before citation suffix...John MacFarlane1-2/+4
if it already starts with a space.
2021-12-14Markdown writer: ensure semicolon btw locator and next citation...John MacFarlane1-1/+5
when an author-in-text citation has a locator and following citations.
2021-12-14Org reader: remove support for "Berkeley style" citations.John MacFarlane2-192/+42
See #7329.
2021-12-14doc/lua-filters.md: add docs for `Cell` constructorAlbert Krewinkel1-4/+31
2021-12-13Org writer: add tests for org-cite citations, and improve support.John MacFarlane2-4/+72
2021-12-13Markdown reader: fix parsing of "bare locators"...John MacFarlane1-1/+1
...after author-in-text citations. Previously `@item [p. 12; @item2]` was incorrectly parsed as three citations rather than two. This is now fixed by ensuring that `prefix` doesn't gobble any semicolons.
2021-12-13Citeproc changes:John MacFarlane2-41/+53
T.P.Citeproc exports `getCiteprocLang` and `getStyle` [API change]. T.P.Citeproc.Locator now exports `toLocatorMap`, `LocatorInfo`, and `LocatorMap`. The type of `parseLocator` has changed, so it now takes a `LocatorMap` rather than a `Locale` as parameter, and returns a `LocatorInfo` instead of a tuple.
2021-12-13doc/lua-filters.md: update description of walk methods, fix typosAlbert Krewinkel1-18/+23
2021-12-13Lua: support topdown traversalsAlbert Krewinkel4-4/+55
The traversal order of filters can now be selected by setting the key `traverse` of the filter to either `'topdown'` or `'typewise'`; the default remains `'typewise'`. Topdown traversals can be cut short by returning `false` as a second value from the filter function. No child-element of the returned element is processed in that case.
2021-12-12Org writer: preliminary support for new org-cite syntax.John MacFarlane1-1/+21
See #7329. This could use some tests.
2021-12-11fix(IpynbOutput)!: rank always favors output formatKolen Cheung5-7/+82
Previously, both `fmt == f` case and Image have a rank of 1. In the end, e.g. from ipynb to html conversion, if both html and image exists, it actually prefers the image. This commit changes this, so that fmt == f is always highest rank, and rank never collides. This is achieved by keeping fmt == f case having rank 1, and every other rank increased by 1.
2021-12-11Custom reader: ensure old Readers continue to workAlbert Krewinkel3-16/+55
Retry conversion by passing a string instead of sources when the `Reader` fails with a message that hints at an outdated function. A deprecation notice is reported in that case.
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