diff options
-rw-r--r-- | AUTHORS.md | 3 | ||||
-rw-r--r-- | MANUAL.txt | 2 | ||||
-rw-r--r-- | changelog.md | 204 | ||||
-rw-r--r-- | man/pandoc.1 | 64 |
4 files changed, 244 insertions, 29 deletions
diff --git a/AUTHORS.md b/AUTHORS.md index a75242415..64c4195b7 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -36,6 +36,7 @@ - Brian Leung - Bryan O'Sullivan - Caleb McDaniel +- Caleb Mclennan - Calvin Beck - Carlos Sosa - Chris Black @@ -67,6 +68,7 @@ - Eric Kow - Eric Seidel - Eric Schrijver +- Ethan Riley - Étienne Bersac - Felix Yan - Félix Baylac-Jacqué @@ -127,6 +129,7 @@ - Jose Luis Duran - José de Mattos Neto - Josef Svenningsson +- Joseph C. Sible - Julien Cretel - Juliusz Gonera - Justin Bogner diff --git a/MANUAL.txt b/MANUAL.txt index 4fb744085..891f37cf8 100644 --- a/MANUAL.txt +++ b/MANUAL.txt @@ -1,7 +1,7 @@ --- title: Pandoc User's Guide author: John MacFarlane -date: January 5, 2020 +date: February 15, 2020 --- # Synopsis diff --git a/changelog.md b/changelog.md index 73d7bbc58..09f23cefb 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,209 @@ # Revision history for pandoc +## pandoc 2.9.2 (2020-02-15) + + * Add `csv` as an input format (#6100). The CSV table is converted into a + pandoc simple table. A new module Text.Pandoc.Readers.CSV + exports `readCSV` [API change]. + + * Introduce new format variants for JATS writer (#6014, Albert Krewinkel): + + - `jats_archiving` for the "Archiving and Interchange Tag Set", + - `jats_publishing` for the "Journal Publishing Tag Set", and + - `jats_articleauthoring` for the "Article Authoring Tag Set." + + The `jats` output format is now an alias for `jats_archiving`. + The module Text.Pandoc.Writers.JATS now exports + `writeJatsArchiving`, `writeJatsPublishing`, and + `writeJatsArticleAuthoring`, as well as the legacy + `writeJATS` [API change]. + + * `--defaults`: Support `bibliography` and `csl` fields. + Move `addMeta` from Text.Pandoc.App.CommandLineOptions to + Text.Pandoc.App.Opt (internal change). + + * Add timing info for filters in `--verbose` mode (#6112). + When verbose mode is specified (verbosity == INFO), print a + notice when running a filter and when a filter completes (including + timing). + + * LaTeX reader: + + + Allow `&` in LaTeX citation keys (#6110). + + Improve caption and label parsing. + + Don't emit empty Span elements for labels. + + Put tables with labels in a surrounding Div. + + Resolve `\ref` to table numbers (#6137). + + Skip comments in more places where this is needed (#6114). + + Allow beamer overlays for all commands in all raw tex (#6043). + This affects parsing of raw tex in LaTeX and in Markdown and + other formats. + + Improve parsing of raw environments (#6034). If parsing fails + in a raw environment (e.g. due to special characters like unescaped + `_`), try again as a verbatim environment, which is less sensitive to + special characters. This allows us to capture special environments + that change catcodes as raw tex when `-f latex+raw_tex` is used. + + * RST reader: + + + Add highlight directive (#6140, Lucas Escot). + + * MediaWiki writer: + + + Prevent triple `[[[` which confuses MediaWiki (#6119). + + * HTML reader: + + + Don't parse `data-id` as `id` attribute. And similarly don't + parse any `data-X` as `X` when `X` is a valid HTML attribute. + + * Org reader: + + + Simplify parsing of sub- and superscripts (#6127, Albert Krewinkel). + Speeds up parsing of single-word, markup-less sub- and superscripts. + + * LaTeX writer: + + + Group biblatex citations even with prefix and suffix (#5849, Ethan + Riley). Previously biblatex citations were only grouped if there + was no prefix. This patch allows them to be grouped in subgroups split + by prefixes and suffixes, which allows better citation sorting. + + Fix regression in handling of columns in beamer slides (#6033). + Columns in title slides were causing problems with + slide division. + + Fix duplicate frame classes in LaTeX/Beamer output (#6107). + + * HTML writer: + + + Fix duplicate attributes on headings (#6062), regression from 2.7.x. + + Fix `--number-offset` with HTML TOC. Eventually it would be worth + adding a parameter to `makeSections` so this could be done at that + level; then it would also affect other writers that construct + TOC manually. + + reveal.js: restore old behavior for 2D nesting (#6032). + The fix to #6030 actually changed behavior, so that the + 2D nesting occurred at slide level N-1 and N, instead of + at the top-level section. This commit restores the v2.7.3 behavior. + If there are more than 2 levels, the top level is horizontal + and the rest are collapsed to vertical. + + reveal.js: ensure that pauses work even in title slides (#5819). + + * Markdown writer: + + + Fix regression: spurious dots in markdown_mmd metadata output (#6133). + + * Docx writer: + + + Fix regression with Compact style on tight lists (#6072). + Starting in 2.8, the docx writer no longer distinguishes between tight + and loose lists, since the Compact style is omitted. This is a + side-effect of the fix to #5670, as explained in the changelog. This + patch fixes the problem by extending the exception currently offered to + Plain blocks inside tables to Plain blocks inside list items. + + * Jira writer: + + + Fix output of table headers (Albert Krewinkel, #6035). + + * Add Text.Pandoc.Image with unexported svgToPng. + + * Moved html5Attributes, html4Attributes, rdfaAttributes + from T.P.Writers.HTML (where they were unexported) to + T.P.XML (where they are now exported). + [API change: new exported functions] + This allows these sets to be used elsewhere, e.g. + in the HTML reader. + + * Text.Pandoc.Shared: Export a new function `findM` (#6125, + Joseph C. Sible). + + * Text.Pandoc.Logging: Add `RunningFilter`, `FilterCompleted` + constructors to LogMessage [API change]. + + * Text.Pandoc.CSV: fix bug in CSV parser; previously an extra blank record + would sometimes be inserted at the end. + + * LaTeX template: add space option to xeCJK with PassOptionsToPackage + (#6002). Otherwise we can get a clash with documentclasses that + already load the package. + + * Lua filters: + + + Allow filtering of element lists (#6038, Albert Krewinkel). Lists of + Inline and Block elements can now be filtered via `Inlines` and + `Blocks` functions, respectively. This is helpful if a filter + conversion depends on the order of elements rather than a single + element. For example, the following filter can be used to remove all + spaces before a citation: + + function isSpaceBeforeCite (spc, cite) + return spc and spc.t == 'Space' + and cite and cite.t == 'Cite' + end + + function Inlines (inlines) + for i = #inlines-1,1,-1 do + if isSpaceBeforeCite(inlines[i], inlines[i+1]) then + inlines:remove(i) + end + end + return inlines + end + + + Add methods `insert`, `remove`, and `sort` to pandoc.List + (Albert Krewinkel). Example of use: + + local numbers = pandoc.List {2, 3, 1} + numbers:sort() -- numbers is now {1, 2, 3} + + Make `pandoc.List` a callable constructor (Albert Krewinkel). + It is now possible to construct a new List via + `pandoc.List()` instead of `pandoc.List:new()`. + + Add tests for pandoc.List module (Albert Krewinkel). + + * Text.Pandoc.App.CommandLineOptions: Change `setVariable` to use `Text` + instead of `String`. This avoids some unnecessary unpacking. + + * Use versioned directory for windows release zipfile. + Also remove old `make-windows-installer.bat`, superseded by GitHub + actions workflow, and modify `pandoc.wxs` for new paths. + + * Extensive code cleanup (#6141, #6128, #6129, #6130, #6123, + #6105, 6102, #6117, #6124, #6115, #6116, #6111, Joseph C. Sible). + + * Fix hlint warnings (Albert Krewinkel). + + * Use latest doclayout, doctemplates (#6031). The new version of + doclayout fixes a memory leak that affected `--include-in-header` with + large files (and possibly other cases involving extremely long lines). + + * Use latest texmath. + + * Use latest skylighting and fix test suite (#6086). + + * sample.lua: Fix typo in descriptive comments (#6136, Caleb Maclennan). + Fix typo in error message (#6135). + + * Add Docker and GH Actions instructions/links to INSTALL.md. + + * Update filter documentation (#6065). Improve cabal v2 instructions. + Remove example using pandoc API directly (we have other + docs for that and it was outdated). + + * Lua filter docs: + + + Cross-link constructors and types (Albert Krewinkel). + Thanks to @bpj for the idea. + + Sort pandoc.List methods alphabetically (Albert Krewinkel). + + Unify, fix anchors and internal links (#6061, Albert Krewinkel). + Links and anchors now follow consistent conventions, like + lowercase-only anchor names. This breaks some links to specific + sections in the document, but will make it much easier to link + documentation in the future. + + Clarify filter function execution order (#6059, Albert Krewinkel). + + * In docs, update URLs and use `https:` wherever possible (#6090, + Salim B). + ## pandoc 2.9.1.1 (2020-01-05) * Markdown reader: diff --git a/man/pandoc.1 b/man/pandoc.1 index 9dd35f5ce..60fe165a5 100644 --- a/man/pandoc.1 +++ b/man/pandoc.1 @@ -1,7 +1,7 @@ .\"t -.\" Automatically generated by Pandoc 2.9.1 +.\" Automatically generated by Pandoc 2.9.2 .\" -.TH "Pandoc User\[aq]s Guide" "" "January 5, 2020" "pandoc 2.9.1.1" "" +.TH "Pandoc User\[aq]s Guide" "" "February 15, 2020" "pandoc 2.9.2" "" .hy .SH NAME pandoc - general markup converter @@ -206,7 +206,7 @@ In this case pandoc will fetch the content using HTTP: .IP .nf \f[C] -pandoc -f html -t markdown http://www.fsf.org +pandoc -f html -t markdown https://www.fsf.org \f[R] .fi .PP @@ -216,7 +216,7 @@ requesting a document from a URL: .nf \f[C] pandoc -f html -t markdown --request-header User-Agent:\[dq]Mozilla/5.0\[dq] \[rs] - http://www.fsf.org + https://www.fsf.org \f[R] .fi .SH OPTIONS @@ -231,6 +231,8 @@ Specify input format. .IP \[bu] 2 \f[C]creole\f[R] (Creole 1.0) .IP \[bu] 2 +\f[C]csv\f[R] (CSV table) +.IP \[bu] 2 \f[C]docbook\f[R] (DocBook) .IP \[bu] 2 \f[C]docx\f[R] (Word docx) @@ -342,7 +344,13 @@ HTML5/XHTML polyglot markup) .IP \[bu] 2 \f[C]ipynb\f[R] (Jupyter notebook) .IP \[bu] 2 -\f[C]jats\f[R] (JATS XML) +\f[C]jats_archiving\f[R] (JATS XML, Archiving and Interchange Tag Set) +.IP \[bu] 2 +\f[C]jats_articleauthoring\f[R] (JATS XML, Article Authoring Tag Set) +.IP \[bu] 2 +\f[C]jats_publishing\f[R] (JATS XML, Journal Publishing Tag Set) +.IP \[bu] 2 +\f[C]jats\f[R] (alias for \f[C]jats_archiving\f[R]) .IP \[bu] 2 \f[C]jira\f[R] (Jira wiki markup) .IP \[bu] 2 @@ -406,7 +414,7 @@ HTML5/XHTML polyglot markup) .IP \[bu] 2 \f[C]zimwiki\f[R] (ZimWiki markup) .IP \[bu] 2 -the path of a custom lua writer, see Custom writers below +the path of a custom Lua writer, see Custom writers below .PP Note that \f[C]odt\f[R], \f[C]docx\f[R], \f[C]epub\f[R], and \f[C]pdf\f[R] output will not be directed to \f[I]stdout\f[R] unless @@ -603,25 +611,25 @@ above). .IP "3." 3 \f[C]$PATH\f[R] (executable only) .PP -Filters and lua-filters are applied in the order specified on the +Filters and Lua-filters are applied in the order specified on the command line. .RE .TP \f[B]\f[CB]-L\f[B]\f[R] \f[I]SCRIPT\f[R], \f[B]\f[CB]--lua-filter=\f[B]\f[R]\f[I]SCRIPT\f[R] Transform the document in a similar fashion as JSON filters (see -\f[C]--filter\f[R]), but use pandoc\[aq]s build-in lua filtering system. -The given lua script is expected to return a list of lua filters which +\f[C]--filter\f[R]), but use pandoc\[aq]s build-in Lua filtering system. +The given Lua script is expected to return a list of Lua filters which will be applied in order. -Each lua filter must contain element-transforming functions indexed by +Each Lua filter must contain element-transforming functions indexed by the name of the AST element on which the filter function should be applied. .RS .PP -The \f[C]pandoc\f[R] lua module provides helper functions for element +The \f[C]pandoc\f[R] Lua module provides helper functions for element creation. -It is always loaded into the script\[aq]s lua environment. +It is always loaded into the script\[aq]s Lua environment. .PP -The following is an example lua script for macro-expansion: +The following is an example Lua script for macro-expansion: .IP .nf \f[C] @@ -637,7 +645,7 @@ return {{Str = expand_hello_world}} \f[R] .fi .PP -In order of preference, pandoc will look for lua filters in +In order of preference, pandoc will look for Lua filters in .IP "1." 3 a specified full or relative path (executable or non-executable) .IP "2." 3 @@ -1688,7 +1696,7 @@ include-after-body: [] include-in-header: [] resource-path: [\[dq].\[dq]] -# filters will be assumed to be lua filters if they have +# filters will be assumed to be Lua filters if they have # the .lua extension, and json filters otherwise. But # the filter type can also be specified explicitly, as shown: filters: @@ -4983,7 +4991,7 @@ Thus, for example, pandoc will turn <table> <tr> <td>*one*</td> -<td>[a link](http://google.com)</td> +<td>[a link](https://google.com)</td> </tr> </table> \f[R] @@ -4996,7 +5004,7 @@ into <table> <tr> <td><em>one</em></td> -<td><a href=\[dq]http://google.com\[dq]>a link</a></td> +<td><a href=\[dq]https://google.com\[dq]>a link</a></td> </tr> </table> \f[R] @@ -5154,7 +5162,7 @@ a link: .IP .nf \f[C] -<http://google.com> +<https://google.com> <sam\[at]green.eggs.ham> \f[R] .fi @@ -5167,7 +5175,7 @@ the URL in parentheses. .nf \f[C] This is an [inline link](/url), and here\[aq]s [one with -a title](http://fsf.org \[dq]click here for a good time!\[dq]). +a title](https://fsf.org \[dq]click here for a good time!\[dq]). \f[R] .fi .PP @@ -5207,7 +5215,7 @@ Here are some examples: \f[C] [my label 1]: /foo/bar.html \[dq]My title, optional\[dq] [my label 2]: /foo -[my label 3]: http://fsf.org (The free software foundation) +[my label 3]: https://fsf.org (The free software foundation) [my label 4]: /bar#special \[aq]A title in single quotes\[aq] \f[R] .fi @@ -5224,7 +5232,7 @@ The title may go on the next line: .IP .nf \f[C] -[my label 3]: http://fsf.org +[my label 3]: https://fsf.org \[dq]The free software foundation\[dq] \f[R] .fi @@ -5684,7 +5692,7 @@ references: issue: 4356 page: 737-738 DOI: 10.1038/171737a0 - URL: http://www.nature.com/nature/journal/v171/n4356/abs/171737a0.html + URL: https://www.nature.com/articles/171737a0 language: en-GB \&... \f[R] @@ -5973,7 +5981,7 @@ extension. \f[C] This is a reference ![image][ref] with multimarkdown attributes. -[ref]: http://path.to/image \[dq]Image title\[dq] width=20px height=30px +[ref]: https://path.to/image \[dq]Image title\[dq] width=20px height=30px id=myId class=\[dq]myClass1 myClass2\[dq] \f[R] .fi @@ -6723,7 +6731,7 @@ For example: .nf \f[C] <audio controls=\[dq]1\[dq]> - <source src=\[dq]http://example.com/music/toccata.mp3\[dq] + <source src=\[dq]https://example.com/music/toccata.mp3\[dq] data-external=\[dq]1\[dq] type=\[dq]audio/mpeg\[dq]> </source> </audio> @@ -7019,11 +7027,11 @@ reference-doc while creating docx output (see below), and maintain the same styles in your input and output files. .SH CUSTOM WRITERS .PP -Pandoc can be extended with custom writers written in lua. -(Pandoc includes a lua interpreter, so lua need not be installed +Pandoc can be extended with custom writers written in Lua. +(Pandoc includes a Lua interpreter, so Lua need not be installed separately.) .PP -To use a custom writer, simply specify the path to the lua script in +To use a custom writer, simply specify the path to the Lua script in place of the output format. For example: .IP @@ -7033,7 +7041,7 @@ pandoc -t data/sample.lua \f[R] .fi .PP -Creating a custom writer requires writing a lua function for each +Creating a custom writer requires writing a Lua function for each possible element in a pandoc document. To get a documented example which you can modify according to your needs, do |