aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)AuthorFilesLines
2021-12-22HTML writer: make line breaks more consistent.John MacFarlane4-61/+149
- With `--wrap=none`, we now output line breaks between block-level elements. Previously they were omitted entirely, so the whole document was on one line, unless there were literal line breaks in pre sections. This makes the HTML writer's behavior more consistent with that of other writers. - Put newline after `<dd>`. - Put newlines after block-level elements in footnote section.
2021-12-22Add text wrapping to HTML output.John MacFarlane37-122/+277
Previously the HTML writer was exceptional in not being sensitive to the `--wrap` option. With this change `--wrap` now works for HTML. The default (as with other formats) is automatic wrapping to 72 columns. A new internal module, T.P.Writers.Blaze, exports `layoutMarkup`. This converts a blaze Html structure into a doclayout Doc Text. In addition, we now add a line break between an `img` tag and the associated `figcaption`. Note: Output is never wrapped in `writeHtmlStringForEPUB`. This accords with previous behavior since previously the HTML writer was insensitive to `--wrap` settings. There's no real need to wrap HTML inside a zipped container. Note that the contents of script, textarea, and pre tags are always laid out with the `flush` combinator, so that unwanted spaces won't be introduced if these occur in an indented context in a template. Closes #7764.
2021-12-21Lua: simplify code of pandoc.utils.stringifyAlbert Krewinkel1-4/+3
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: add tests for pandoc.utils.equalsAlbert Krewinkel1-0/+40
2021-12-21Lua: add new library function `pandoc.utils.type`.Albert Krewinkel1-0/+40
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-20Lua: use more natural representation for Reference valuesAlbert Krewinkel2-1/+26
Omit `false` boolean values, push integers as numbers.
2021-12-19Add a writer for Markua 0.10 (#7729)binaarinen5-0/+801
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-19Lua: fixup, should have been part of previous commitAlbert Krewinkel1-3/+3
2021-12-18Citeproc: avoid adding comma before an author-in-text citation...John MacFarlane1-0/+35
...in a note if it begins with a title (no author). Closes #7761.
2021-12-14Org reader: parse official org-cite citations.John MacFarlane2-5/+58
We also support the older org-ref style as a fallback. We no longer support the "markdown-style" citations. See #7329.
2021-12-14Org reader: remove support for "Berkeley style" citations.John MacFarlane1-47/+0
See #7329.
2021-12-13Org writer: add tests for org-cite citations, and improve support.John MacFarlane1-0/+44
2021-12-11fix(IpynbOutput)!: rank always favors output formatKolen Cheung3-0/+72
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-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-09ipynb writer: handle cell output with raw block of markdown (#7563)Kolen Cheung4-0/+516
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 Krewinkel1-1/+1
- `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-07Add test for #7738.John MacFarlane1-0/+6
2021-12-06Ipynb reader & writer: properly handle cell "id".John MacFarlane3-16/+21
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-03Improve Markdown writer escaping.John MacFarlane6-5/+27
This fixes escaping for '#' in particular. Closes #7726.
2021-11-30Markdown reader: don't allow `^` at beginning of link or image label.John MacFarlane1-0/+8
This is reserved for footnotes. Fixes a regression introduced by 0a93acf. Closes #7723.
2021-11-29Lua: remove `pandoc.utils.text` (#7720)Albert Krewinkel1-28/+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-28Lua: add constructors `pandoc.Blocks` and `pandoc.Inlines`Albert Krewinkel1-0/+6
The functions convert their argument into a list of Block and Inline values, respectively.
2021-11-27Lua: use package pandoc-lua-marshal (#7719)Albert Krewinkel2-760/+87
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 MacFarlane1-1/+1
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: omit visible content for `\label{...}`.John MacFarlane1-3/+1
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 MacFarlane2-2/+14
Closes #6970.
2021-11-24Lua: allow single elements as singleton MetaBlocks/MetaInlinesAlbert Krewinkel1-1/+19
Single elements should always be treated as singleton lists in the Lua subsystem.
2021-11-23Improve detection of pipe table line widths.John MacFarlane1-0/+28
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-23Lua: add function `pandoc.utils.text` (#7710)Albert Krewinkel1-0/+28
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 Krewinkel1-2/+26
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-20Capture `alt-text` in JATS figures (#7703)Albert Krewinkel1-0/+18
Co-authored-by: Aner Lucero <4rgento@gmail.com>
2021-11-19Lua tests: reset path and cpath when testing 'require' fallback.John MacFarlane1-2/+4
2021-11-19MediaWiki writer: fix code for generating spans for header IDs.John MacFarlane2-2/+33
We need to generate a span when the header's ID doesn't match the one MediaWiki would generate automatically. But MediaWiki's generation scheme is different from ours (it uses uppercase letters, and `_` instead of `-`, for example). This means that in going from markdown -> mediawiki, we'll now get spans before almost every heading, unless explicit identifiers are used that correspond to the ones MediaWiki auto-generates. This is uglier output but it's necessary for internal links to work properly. See #7697.
2021-11-19HTML writer: Don't create invalid `data-` attribute...John MacFarlane1-0/+6
for empty attribute key. (It would be better to make these unrepresentable in the type system, but for now this is an improvement.) Closes #7546.
2021-11-18MediaWiki writer: use HTML spans for anchors when header has id.John MacFarlane1-0/+27
Closes #7697.
2021-11-18RST reader: handle class attribute for for custom roles (#7700)willj-dev1-0/+9
Previously the class attribute was ignored, and the name of the role used as the class. Closes #7699.
2021-11-17Lua: set `lpeg`, `re` as globals; allow shared lib access via requireAlbert Krewinkel1-7/+17
The `lpeg` and `re` modules are loaded into globals of the respective name, but they are not necessarily registered as loaded packages. This ensures that - the built-in library versions are preferred when setting the globals, - a shared library is used if pandoc has been compiled without `lpeg`, and - the `require` mechanism can be used to load the shared library if available, falling back to the internal version if possible and necessary.
2021-11-15Markdown writer: don't create autolinks when this loses information.John MacFarlane1-0/+13
Previously we sometimes lost attributes when rendering links as autolinks. Closes #7692.
2021-11-15LaTeX reader: add rudimentary support for `\autoref` (#7693)Albert Krewinkel1-0/+18
2021-11-12JATS writer: ensure figures are wrapped with `<p>` in list items.Albert Krewinkel1-15/+33
This prevents the generation of invalid output.
2021-11-11Writers.Shared: Improve toLegacyTable.Christian Despres1-0/+16
Closes #7683. (PR #7684)
2021-11-09Lua: fix argument order in constructor `pandoc.Cite`.Albert Krewinkel1-4/+4
This restores the old behavior; argument order had been switched accidentally in pandoc 2.15.
2021-11-08Properly handle commented lines in BibTeX/BibLaTeX.John MacFarlane1-0/+36
Closes #7668.
2021-11-08Add `<titleabbr>` support to DocBook readerRowan Rodrik van der Molen3-1/+12
2021-11-08Lua: ensure that 're' module is always available.Albert Krewinkel1-1/+9
The module is shipped with LPeg.
2021-11-07LaTeX reader: add 'uri' class when parsing `\url`.John MacFarlane3-6/+6
Closes #7672.
2021-11-06Lua: allow to pass custom reader options to `pandoc.read`Albert Krewinkel1-1/+29
Reader options can now be passed as an optional third argument to `pandoc.read`. The object can either be a table or a ReaderOptions value like `PANDOC_READER_OPTIONS`. Creating new ReaderOptions objects is possible through the new constructor `pandoc.ReaderOptions`. Closes: #7656
2021-11-05Support for <indexterm>s when reading DocBook (#7607)Rowan Rodrik van der Molen2-0/+199
* Support for <indexterm>s when reading DocBook * Update implementation status of `<n-ary>` tags * Remove non-idiomatic parentheses * More complete `<indexterm>` support, with tests Co-authored-by: Rowan Rodrik van der Molen <rowan@ytec.nl>