aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2018-10-14Custom writer: provide PANDOC_DOCUMENT instead of Setup functionAlbert Krewinkel1-18/+26
Custom writers have access to the global variable `PANDOC_DOCUMENT`. The variable contains a userdata wrapper around the full pandoc AST and exposes two fields, `meta` and `blocks`. The field content is only marshaled on-demand, performance of scripts not accessing the fields remains unaffected.
2018-10-14Markdown reader: Added updateStrPos in a couple places where needed.John MacFarlane1-1/+2
2018-10-13Custom writer: give full access to doc in optional Setup function (#4967)Albert Krewinkel1-1/+16
Custom writers can specify an optional `Setup` function. The function takes the full Pandoc document as input and should not return any value. Users can use this function to configure the writer depending on the given document's content or its metadata. data/sample.lua: add sample use of Setup function. The change allows to control the image format used to encode the image produced from dot code. Closes #4957
2018-10-13Lua filter internals: push Shared.Element as userdataAlbert Krewinkel1-19/+24
Hierarchical Elements were pushed to Lua as plain tables. This is simple, but has the disadvantage that marshaling is eager: all child elements will be marshaled as part of the object. Using a Lua userdata object instead allows lazy access to fields, causing content marshaling just (but also each time) when a field is accessed. Filters which do not traverse the full element contents tree become faster as a result.
2018-10-12Lua filters: push ListAttributes via constructorAlbert Krewinkel2-2/+17
This ensures that ListAttributes, as present in OrderedList elements, have additional accessors (viz. *start*, *style*, and *delimiter*).
2018-10-11HTML reader: fix htmlTag and isInlineTag to accept processing instructions.John MacFarlane1-8/+10
Fixes regression #3123 (since 2.0). Added regression test.
2018-10-11Muse reader internals: don't use "choice" with static listAlexander Krotov1-18/+16
2018-10-11Muse reader: use indentWith to parse indentationAlexander Krotov1-2/+2
2018-10-11Muse reader: move museInPara from state to environmentAlexander Krotov1-34/+25
2018-10-10Pandoc.Parsing: rewrite nonspaceChar using noneOfAlexander Krotov1-1/+1
2018-10-10Vimwiki reader: get rid of F, runF and stateMeta' in favor of stateMetaAlexander Krotov1-6/+6
2018-10-10Muse reader internals: merge link and explicit link parsers into one functionAlexander Krotov1-13/+5
2018-10-10Muse reader: rewrite code parser in applicative styleAlexander Krotov1-8/+5
2018-10-10Muse reader: fix parsing of empty cellsAlexander Krotov1-1/+1
2018-10-10Reimplement mapLeft using Bifunctor.firstAlexander Krotov1-2/+2
2018-10-10Muse reader: simplify table parsingAlexander Krotov1-10/+6
2018-10-09Docx writer: added framework for custom properties.John MacFarlane2-1/+21
So far, we don't actually write any custom properties, but we have the infrastructure to add this. See #3034.
2018-10-09Get rid of mapLeft in Muse readerAlexander Krotov1-3/+3
2018-10-09hlint Muse writerAlexander Krotov1-4/+4
2018-10-09Muse reader: rewrite parseHtmlContent, verseTag and lineBlock in applicative ↵Alexander Krotov1-18/+12
style
2018-10-09Get rid of unnecessary bind "res"Alexander Krotov1-2/+1
2018-10-08LaTeX writer with `--listings`: don't pass through org-babel attributes.John MacFarlane1-1/+4
So far: just, tangle, exports, results which are used by org mode. It might be better to use a whitelist of legal listings attributes, but there are a large number, and these may change. Closes #4889.
2018-10-08Add helpful suggestion to missing title warning.John MacFarlane1-1/+2
Tell users what to add to the command line to avoid the warning. Closes #4909.
2018-10-08LaTeX writer: with `--biblatex`, use `\autocite` when possible.John MacFarlane1-13/+21
`\autocites{a1}{a2}{a3}` will not collapse the entries. So, if we don't have prefixes and suffixes, we use instead `\autocite{a1;a2;a3}`. Closes #4960.
2018-10-08ODT writer: improve metadata.John MacFarlane1-7/+26
- Author, date added to metadata. - Remaining metadata properties (besides author, date, title, lang) are added as meta:user-defined tags.
2018-10-07Docx writer: handle tables in table cells.John MacFarlane1-2/+7
Although this is not documented in the spec, some versions of Word require a 'w:p' element inside every table cell. Thus, we add one when the contents of a cell do not already include one (e.g. when a table cell contains a table). Closes #4953.
2018-10-07RST reader: don't allow single-dash separator in headerless table.John MacFarlane1-1/+3
Closes #4382.
2018-10-07LaTeX reader: fix bugs omitting raw tex.John MacFarlane1-2/+7
The default is `-raw_tex`, so no raw tex should result unless we explicitly say `+raw_tex`. Previously some raw commands did make it through. Closes #4527.
2018-10-07RST reader: pass through fields in unknown directives as div attributes.John MacFarlane1-17/+20
This commit also adds support for `class` and `name` attributes to directives in general. Closes #4715.
2018-10-07Revert export of hasSimpleCells from T.P.Writers.Shared.John MacFarlane1-18/+0
This wasn't necessary.
2018-10-06RST writer: use simple tables when possible.John MacFarlane2-4/+52
Closes #4750. Text.Pandoc.Writers.Shared now exports hasSimpleCells [API change].
2018-10-06Moved Haddock comment in Muse readerAlexander Krotov1-4/+3
2018-10-05Org reader: fix behavior for successive calls of `#+EXCLUDE_TAGS`. (#4951)Brian Leung2-8/+13
Calling `#+EXCLUDE_TAGS` multiple times should preserve the status of the previously declared tags.
2018-10-05CommonMark writer: add plain text fallbacks. (#4531)quasicomputational3-39/+73
Previously, the writer would unconditionally emit HTMLish output for subscripts, superscripts, strikeouts (if the strikeout extension is disabled) and small caps, even with raw_html disabled. Now there are plain-text (and, where possible, fancy Unicode) fallbacks for all of these corresponding (mostly) to the Markdown fallbacks, and the HTMLish output is only used when raw_html is enabled. This commit adds exported functions `toSuperscript` and `toSubscript` to `Text.Pandoc.Writers.Shared`. [API change] Closes #4528.
2018-10-05Org reader: Add partial support for `#+EXCLUDE_TAGS` option. (#4950)Brian Leung4-7/+32
Closes #4284. Headers with the corresponding tags should not appear in the output. If one or more of the specified tags contains a non-tag character like `+`, Org-mode will not treat that as a valid tag, but will nonetheless continue scanning for valid tags. That behavior is not replicated in this patch; entering `cat+dog` as one of the entries in `#+EXCLUDE_TAGS` and running the file through Pandoc will cause the parser to fail and result in the only excluded tag being the default, `noexport`.
2018-10-05Fixed haddock error in Muse reader.John MacFarlane1-1/+2
2018-10-05Muse reader: remove redundant bracketAlexander Krotov1-1/+1
2018-10-05OpenDocument writer: Implement table caption numbering (#4949)Nils Carlson1-36/+53
Implement table caption numbering with a format "Table 1: <caption>". Translations are enabled and numbering is consecutive for captioned tables, uncaptioned tables are not enumerated. Captioned figures are now also numbered consecutively and uncaptioned figures are not enumerated.
2018-10-05Muse reader: move museInLink state into ReaderTAlexander Krotov1-11/+14
2018-10-05Muse reader: use getIndent more for code cleanupAlexander Krotov1-7/+4
2018-10-05Muse reader: use getIndent in parseHtmlContentAlexander Krotov1-7/+6
2018-10-05Muse reader: make bulletListUntil similar to definitionListUntilAlexander Krotov1-2/+1
2018-10-05Muse reader: reduce duplication by introducing `getIndent`Alexander Krotov1-9/+7
2018-10-05Muse reader internals: simplify parseMuseAlexander Krotov1-6/+2
2018-10-05Muse reader: get rid of TagSoup importAlexander Krotov1-2/+1
2018-10-05Muse reader: simplify verse parsersAlexander Krotov1-18/+7
2018-10-05Muse reader: allow table caption to contain "+"Alexander Krotov1-1/+1
2018-10-04Docx reader: trigger bold/italic with bCs, iCs.John MacFarlane1-2/+4
These are variants for "complex scripts" like Arabic and are now treated just like b, i (bold, italic). Colses #4947.
2018-10-04KaTeX: don't use autorenderer.John MacFarlane2-6/+6
We no longer surround formulas with `\(..\)` or `\[..\]` and rely on the autorenderer. Instead, we tell katex to convert the contents of span elements with class "math". Since math has already been identified, this avoids wasted time parsing for LaTeX delimiters. Note, however, that this may yield unexpected results if you have span elements with class "math" that don't contain LaTeX math. Also, use latest version of KaTeX by default (0.9.0). Closes #4946.
2018-10-04Add lookupMeta* functions to Text.Pandoc.Writers.Shared (#4907)Mauro Bieg6-65/+68
Remove exported functions `metaValueToInlines`, `metaValueToString`. Add new exported functions `lookupMetaBool`, `lookupMetaBlocks`, `lookupMetaInlines`, `lookupMetaString`. Use these whenever possible for uniformity in writers. API change (major, because of removed function `metaValueToInlines`. `metaValueToString` wasn't in any released version.)