aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)AuthorFilesLines
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>
2021-11-02Docx reader: don't let first line indents trigger block quotes.John MacFarlane2-0/+2
This fixes a regression introduced in pandoc 2.15 by PR #7606. Closes #7655.
2021-11-02Lua: fix typo in SoftBreak constructorAlbert Krewinkel1-0/+6
2021-11-02Lua tests: ensure Inline elements have all expected propertiesAlbert Krewinkel1-0/+81
2021-11-02Lua: re-add `content` property to Strikeout elementsAlbert Krewinkel1-3/+93
Fixes a regression introduced in 2.15.
2021-11-02Lua: be more forgiving when retrieving the Image `caption` propertyAlbert Krewinkel1-0/+9
Fixes a regression introduced in 2.15.
2021-11-02Lua: display Attr values using their native Haskell representationAlbert Krewinkel1-3/+3
2021-11-02Lua: allow omitting the 2nd parameter in pandoc.Code constructorAlbert Krewinkel1-7/+75
Fixes a regression introduced in 2.15 which required users to always specify an Attr value when constructing a Code element.
2021-11-02Lua: allow to compare, show Citation valuesAlbert Krewinkel1-0/+16
Comparisons of Citation values are performed in Haskell; values are equal if they represent the same Haskell value. Converting a Citation value to a string now yields its native Haskell string representation.
2021-11-02Lua tests: ensure Block elements have expected propertiesAlbert Krewinkel1-36/+202
2021-11-01Lua: restore `content` property on Header elementsAlbert Krewinkel1-0/+23
2021-11-01Lua: restore List behavior of MetaListAlbert Krewinkel1-0/+13
Fixes a regression introduced in 2.16 which had MetaList elements loose the `pandoc.List` properties. Fixes #7650
2021-10-31Lua: re-add `content` property to Link elementsAlbert Krewinkel1-0/+10
This was a regression introduced in version 2.15. Fixes: #7647
2021-10-29Docx writer: add IDs to native_numbering testTristan Stenner2-3/+5
2021-10-29Update test golden master for docx native numberingTristan Stenner1-0/+0
2021-10-29Lua: use hslua module abstraction where possibleAlbert Krewinkel1-0/+6
This will make it easier to generate module documentation in the future.
2021-10-28Lua: fix placement of tests for Block elements in pandoc module testsAlbert Krewinkel1-120/+120
2021-10-27Lua: re-add `t` and `tag` property to Attr valuesAlbert Krewinkel1-0/+7
Removal of these properties from Attr values was a regression.
2021-10-27Switch back from HsYAML to yaml.John MacFarlane5-11/+9
Reasons: - Performance: HsYAML is around 20 times slower in parsing large YAML bibliographies (#6084). - An issue was submitted to HsYAML, but it hasn't gotten any attention. HsYAML seems borderline unmaintained; it hasn't had a commit in over a year. - Unfortunately this goes back on our attempts to free ourselves from C dependencies (#4535). But I don't see a better alternative until a better pure Haskell parser is available. Closes #6084. Notes: - We've removed the FromYAML instances for all types that had them, since this is a HsYAML-specific typeclass [API change]. (The yaml package just uses From/ToJSON.) - Unlike HsYAML (in the configuration we were using), yaml parses 'Y', 'N', 'Yes', 'No', 'On', 'Off' as boolean values. Users may need to quote these when they are meant to be interpreted as strings. Similarly, 'null' is parsed as a YAML null value (and will be treated as an empty string by pandoc rather than the string 'null'). Quoting it will force it to be interpreted as a string. - Some tests had to be adjusted accordingly. - Pandoc now behaves better when the YAML metadata contains escaping errors: instead of just falling back on treating the section as a table, it raises a YAML parsing error.
2021-10-26Lua: marshal SimpleTable values as userdata objectsAlbert Krewinkel1-0/+61
2021-10-26Lua: marshal Block values as userdata objectsAlbert Krewinkel1-0/+120
Properties of Block values are marshalled lazily, which generally improves performance considerably. Script users may also notice the following differences: - Block element properties can no longer be accessed by numerical indexing of the `.c` field. The `.c` property now serves as an alias for `.content`, so some filter that used this undocumented method for property access may continue to work, while others will need to be updated and use proper property names. - The marshalled Block elements now have a `show` method, and a `__tostring` metamethod. Both return the Haskell string representation of the element. - Block values now have the Lua type `userdata` instead of `table`.
2021-10-25Lua: marshal Citation values as userdata objectsAlbert Krewinkel1-0/+2
2021-10-24Fix more epub files in epub reader tests.John MacFarlane3-0/+0
Closes #7586.