aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc
AgeCommit message (Collapse)AuthorFilesLines
2021-11-18MediaWiki writer: use HTML spans for anchors when header has id.John MacFarlane1-2/+8
Closes #7697.
2021-11-18RST reader: handle class attribute for for custom roles (#7700)willj-dev1-8/+16
Previously the class attribute was ignored, and the name of the role used as the class. Closes #7699.
2021-11-17Babel mappings: use ancientgreek for grc.John MacFarlane1-1/+1
2021-11-17Lua: set `lpeg`, `re` as globals; allow shared lib access via requireAlbert Krewinkel1-18/+18
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-16Lua: make loading of global LPeg modules more robustAlbert Krewinkel1-14/+20
Ignore errors if the normal package mechanism failed; this not only covers the case of modules being unavailable on the system, but also works if the modules are present, but fail to load for some reason. This makes the built-in package version a true fallback.
2021-11-15Markdown writer: don't create autolinks when this loses information.John MacFarlane1-1/+4
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/+1
2021-11-12JATS writer: ensure figures are wrapped with `<p>` in list items.Albert Krewinkel1-0/+1
This prevents the generation of invalid output.
2021-11-12JATS writer: add URL to element citation entriesAlbert Krewinkel1-0/+1
The URL of a reference, if present, is added in tag `<uri>` to element-citation entries.
2021-11-11Writers.Shared: Improve toLegacyTable.Christian Despres1-1/+1
Closes #7683. (PR #7684)
2021-11-11Lua: load `re` module available into global of the same nameAlbert Krewinkel1-21/+11
2021-11-10Fix parsing of `%` in bibtex fields.John MacFarlane1-5/+4
Closes #7678 (a bug introduced by 0a45f26).
2021-11-09Require ghc >= 8.6, base >= 4.12.John MacFarlane1-6/+0
This allows us to get rid of the old custom prelude and some crufty cpp. But the primary reason for this is that conduit has bumped its base lower bound to 4.12, making it impossible for us to support lower base versions.
2021-11-09Accept empty `--metadata-file`.John MacFarlane1-0/+1
Closes #7675. This is a regression from 2.15 behavior.
2021-11-09Lua: fix argument order in constructor `pandoc.Cite`.Albert Krewinkel1-2/+2
This restores the old behavior; argument order had been switched accidentally in pandoc 2.15.
2021-11-08With `-t latex-smart`, don't generate `\ldots` from ellipsis.John MacFarlane1-1/+1
Instead just use unicode ellipsis. Closes #7674.
2021-11-08Properly handle commented lines in BibTeX/BibLaTeX.John MacFarlane1-18/+27
Closes #7668.
2021-11-08Add `<titleabbr>` support to DocBook readerRowan Rodrik van der Molen1-5/+12
2021-11-08Lua: ensure that 're' module is always available.Albert Krewinkel1-0/+8
The module is shipped with LPeg.
2021-11-07LaTeX reader: add 'uri' class when parsing `\url`.John MacFarlane1-2/+2
Closes #7672.
2021-11-06Pass ReaderOptions to custom readers as second parameter.John MacFarlane1-4/+3
2021-11-06Lua: add Pushable instance for ReaderOptionsAlbert Krewinkel1-1/+4
2021-11-06Lua: allow to pass custom reader options to `pandoc.read`Albert Krewinkel3-39/+110
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-05Add interface for custom readers written in Lua. (#7671)John MacFarlane2-5/+63
New module Text.Pandoc.Readers.Custom, exporting readCustom [API change]. Users can now do `-f myreader.lua` and pandoc will treat the script myreader.lua as a custom reader, which parses an input string to a pandoc AST, using the pandoc module defined for Lua filters. A sample custom reader can be found in data/reader.lua. Closes #7669.
2021-11-05Support for <indexterm>s when reading DocBook (#7607)Rowan Rodrik van der Molen1-4/+37
* 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-05T.P.Error: sort errors in handleError by exit codeAlbert Krewinkel1-15/+15
2021-11-05Lua: display Pandoc values using their native Haskell representationAlbert Krewinkel1-0/+4
2021-11-05Lua: always load lpeg as global moduleAlbert Krewinkel2-5/+27
2021-11-04Lua: include lpeg module (#7649)Albert Krewinkel1-0/+4
Compiles the 'lpeg' library (Parsing Expression Grammars For Lua) into the program. Package maintainers may choose to rely on package dependencies to make lpeg available, in which case they can compile the with the constraint `lpeg +rely-on-shared-lpeg-library`.
2021-11-04Allow `plain` to be used in raw attribute syntax.John MacFarlane2-2/+4
2021-11-03Lua: add missing space in "package not found" messageAlbert Krewinkel1-1/+1
Closes: #7658
2021-11-02Markdown reader: Improve inlinesInBalancedBrackets.John MacFarlane1-20/+12
This is just a small improvement in terms of performance, but it's simpler and more direct code. Also, we avoid parsing interparagraph spaces in balanced brackets, as the original did.
2021-11-02Docx reader: don't let first line indents trigger block quotes.John MacFarlane1-3/+2
This fixes a regression introduced in pandoc 2.15 by PR #7606. Closes #7655.
2021-11-02Lua: fix typo in SoftBreak constructorAlbert Krewinkel1-1/+1
2021-11-02Lua: re-add `content` property to Strikeout elementsAlbert Krewinkel1-0/+2
Fixes a regression introduced in 2.15.
2021-11-02Lua: be more forgiving when retrieving the Image `caption` propertyAlbert Krewinkel1-1/+1
Fixes a regression introduced in 2.15.
2021-11-02Docx writer: use getTimestamp for modification times in reference.docx.John MacFarlane1-1/+1
This ensures that when `SOURCE_DATE_EPOCH` is set, the modification times of files taken from the reference.docx will be set deterministically, allowing for reproducible builds. Closes #7654.
2021-11-02Lua: display Attr values using their native Haskell representationAlbert Krewinkel1-0/+4
2021-11-02Lua: allow omitting the 2nd parameter in pandoc.Code constructorAlbert Krewinkel1-2/+2
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-1/+12
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-01Lua: restore `content` property on Header elementsAlbert Krewinkel1-0/+2
2021-10-31Lua: re-add `content` property to Link elementsAlbert Krewinkel1-0/+2
This was a regression introduced in version 2.15. Fixes: #7647
2021-10-30Fix build on GHC 9.2Joseph C. Sible1-0/+1
2021-10-29Docx writer: move ": " out of the caption bookmark.Tristan Stenner2-6/+4
This is needed so that native references to the figure are included as "As seen in Figure X, it is..." instead of "As seen in [Figure: , it is..."
2021-10-29Lua: use hslua module abstraction where possibleAlbert Krewinkel11-297/+374
This will make it easier to generate module documentation in the future.
2021-10-28Lua: increase strictness when getting attribute keysAlbert Krewinkel1-2/+2
2021-10-27Lua: re-add `t` and `tag` property to Attr valuesAlbert Krewinkel1-0/+4
Removal of these properties from Attr values was a regression.
2021-10-27Markdown writer: Be sure to quote special values in YAML metadata.John MacFarlane1-3/+13
E.g. "Y", "yes", which are now (with yaml library) considered boolean values, as well as "null". This fixes a bug with roundtripping markdown -> markdown: ``` --- foo: "true" ... ```
2021-10-27Change JSON encodings of some types.John MacFarlane3-44/+56
- For LineEnding use lowercase constructors, e.g. `crlf`, `native`. This was the original intent, but there was a bug in the implementation. - For HTMLSlideVariant use lowercase constructors. - For ReaderOptions use e.g. `default-image-extension` instead of `readerDefaultImageExtension` for field names. - For Extension, use e.g. `tex_math_dollars` instead of `Ext_tex_math_dollars` as constructor. - For Extensions, use an array of Extensions, instead of an object wrapping the tag `Extensions` and an integer. (The representation is not supposed to be part of the public API.) - For Opt, use field names like `tab-stop` instead of `optTabStop`.
2021-10-27Switch back from HsYAML to yaml.John MacFarlane9-419/+334
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.