pandoc 1.13.2
This is mainly a spit-and-polish release, though there is one new reader and some minor new features. Note that, for the first time, we are providing a linux binary (64-bit Debian/Ubuntu).
- TWiki Reader: add new new twiki reader (API chaneg, Alexander Sulfrian).
- Markdown reader:
- Better handling of paragraph in div (#1591). Previously text that ended a div would be parsed as Plain unless there was a blank line before the closing div tag.
- Don't treat a citation as a reference link label (#1763).
- Fix autolinks with following punctuation (#1811). The price of this is that autolinked bare URIs can no longer contain
>
characters, but this is not a big issue. - Fix
Ext_lists_without_preceding_blankline
bug (#1636, Artyom). - Allow
startnum
to work withoutfancy_lists
. Formerlypandoc -f markdown-fancy_lists+startnum
did not work properly. - RST reader (all Daniel Bergey):
- Parse quoted literal blocks (#65). RST quoted literal blocks are the same as indented literal blocks (which pandoc already supports) except that the quote character is preserved in each line.
- Parse RST class directives. The class directive accepts one or more class names, and creates a Div value with those classes. If the directive has an indented body, the body is parsed as the children of the Div. If not, the first block folowing the directive is made a child of the Div. This differs from the behavior of rst2xml, which does not create a Div element. Instead, the specified classes are applied to each child of the directive. However, most Pandoc Block constructors to not take an Attr argument, so we can't duplicate this behavior.
- Warn about skipped directives.
- Literal role now produces Code. Code role should have "code" class.
- Improved support for custom roles
- AddedsourceCode
to classes for:code:
role, and anything inheriting from it.
- Add the name of the custom role to classes if the Inline constructor supports Attr.
- If the custom role directive does not specify a parent role, inherit from the:span:
role.
This differs somewhat from the rst2xml.py
behavior. If a custom role inherits from another custom role, Pandoc will attach both roles' names as classes. rst2xml.py
will only use the class of the directly invoked role (though in the case of inheriting from a :code:
role with a :language:
defined, it will also provide the inherited language as a class).
- Warn about ignored fields in role directives.
- LaTeX reader:
- Parse label after caption into a span instead of inserting an additional paragraph of bracketed text (#1747).
- Parse math environments as inline when possible (#1821).
- Better handling of
\noindent
and\greektext
(#1783). - Handle
\texorpdfstring
more gracefully. - Handle
\cref
and\sep
(Wikiwide). - Support
\smartcite
and\Smartcite
from biblatex. - HTML reader:
- Retain display type of MathML output (#1719, Matthew Pickering).
- Recognise
<br>
tags inside<pre>
blocks (#1620, Matthew Pickering). - Make
embed
tag either block or inline (#1756). - DocBook reader:
- Handle
keycombo
,keycap
(#1815). - Get string content in inner tags for literal elements (#1816).
- Handle
menuchoice
elements better, with a>
between (#1817). - Include
id
on section headers (#1818). - Document/test "type" as implemented (Brian O'Sullivan).
- Add support for calloutlist and callout (Brian O'Sullivan). We treat a calloutlist as a bulleted list. This works well in practice.
- Add support for
classname
(Bryan O'Sullivan). - Docx reader:
- Fix window path for image lookup (Jesse Rosenthal). Don't use os-sensitive "combine", since we always want the paths in our zip-archive to use forward-slashes.
- Single-item headers in ordered lists are headers (Jesse Rosenthal). When users number their headers, Word understands that as a single item enumerated list. We make the assumption that such a list is, in fact, a header.
- Rewrite rewriteLink to work with new headers (Jesse Rosenthal). There could be new top-level headers after making lists, so we have to rewrite links after that.
- Use polyglot header list (Jesse Rosenthal). We're just keeping a list of header formats that different languages use as their default styles. At the moment, we have English, German, Danish, and French. We can continue to add to this. This is simpler than parsing the styles file, and perhaps less error-prone, since there seems to be some variations, even within a language, of how a style file will define headers.
- Remove header class properly in other langs (Jesse Rosenthal). When we encounter one of the polyglot header styles, we want to remove that from the par styles after we convert to a header. To do that, we have to keep track of the style name, and remove it appropriately.
- Account for external link URLs with anchors. Previously, if a URL had an anchor, the reader would incorrectly identify it as an internal link and return only the anchor as URL. (Caleb McDaniel)
- Fix for Issue #1692 (i18n styles) (Nikolay Yakimov).
- Org reader:
- Added state changing blanklines (Jesse Rosenthal). This allows us to emphasize at the beginning of a new paragraph (or, in general, after blank lines).
- Fixed bug with bulleted lists:
- a
- b
- c
was being parsed as a list, even though an unindented *
should make a heading. See http://orgmode.org/manual/Plain-lists.html#fn-1.
- Org reader: absolute, relative paths in link (#1741, Albert Krewinkel). The org reader was too restrictive when parsing links; some relative links and links to files given as absolute paths were not recognized correctly.
- Org reader: allow empty links (jgm/gitit#471, Albert Krewinkel). This is important for use in gitit, which uses empty links for wikilinks.
- Respect indent when parsing Org bullet lists (#1650, Timothy Humphries). Fixes issue with top-level bullet list parsing.
- Fix indent issue for definition lists (Timothy Humphries, see #1650, #1698, #1680).
- Parse multi-inline terms correctly in definition list (#1649, Matthew Pickering).
- Fix rules for emphasis recognition (Albert Krewinkel). Things like
/hello,/
or/hi'/
were falsy recognized as emphasised strings. This is wrong, as,
and'
are forbidden border chars and may not occur on the inner border of emphasized text. - Drop COMMENT document trees (Albert Krewinkel). Document trees under a header starting with the word
COMMENT
are comment trees and should not be exported. Those trees are dropped silently (#1678). - Properly handle links to
file:target
(Albert Krewinkel). Org links like[[file:target][title]]
were not handled correctly, parsing the link target verbatim. The org reader is changed such that the leadingfile:
is dropped from the link target (see #756, #1812). - Parse LaTeX-style MathML entities (#1657, Albert Krewinkel). Org supports special symbols which can be included using LaTeX syntax, but are actually MathML entities. Examples for this are
\nbsp
(non-breaking space),\Aacute
(the letter A with accent acute) or\copy
(the copyright sign ©) - EPUB reader:
- URI handling improvements. Now we outsource most of the work to
fetchItem'
. Also, do not include queries in file extensions (#1671). - LaTeX writer:
- Use
\texorpdfstring
for section captions when needed (Vaclav Zeman). - Handle consecutive linebreaks (#1733).
- Protect graphics in headers (Jesse Rosenthal). Graphics in
\section
/\subsection
etc titles need to be\protect
ed. - Put
~
before header in list item text (Jesse Rosenthal). Because of the built-in line skip, LaTeX can't handle a section header as the first element in a list item. - Avoid using reserved characters as
\lstinline
delimiters (#1595). - Better handling of display math in simple tables (#1754). We convert display math to inline math in simple tables, since LaTeX can't deal with display math in simple tables.
- Escape spaces in code (#1694, Bjorn Buckwalter).
- MediaWiki writer:
- Fixed links with URL = text. Previously these were rendered as bare words, even if the URL was not an absolute URL (#1825).
- ICML writer:
- Don't force all citations into footnotes.
- RTF writer:
- Add blankline at end of output (#1732, Matthew Pickering).
- RST writer:
- Ensure blank line after figure.
- Avoid exces whitespace after last list item (#1777).
- Wrap line blocks with spaces before continuations (#1656).
- Fixed double-rendering of footnotes in RST tables (#1769).
- DokuWiki writer:
- Better handling of block quotes. This change ensures that multiple paragraph blockquotes are rendered using native
>
rather than as HTML (#1738). - Fix external images (#1739). Preface relative links with ":", absolute URIs without. (Timothy Humphries)
- HTML writer:
- Use protocol-relative URL for mathjax.
- Put newline btw img and caption paragraph.
- MathML now outputted with tex annotation (#1635, Matthew Pickering).
- Add support for KaTeX HTML math (#1626, Matthew Pickering). This adds
KaTeX
toHTMLMathMethod
(API change). - Don't double render when
email-obfuscation=none
(#1625, Matthew Pickering). - Make header attributes work outside top level (#1711). Previously they only appeared on top level header elements. Now they work e.g. in blockquotes.
- ODT writer:
- Correctly handle images without extensions (#1729).
- Strip querystring in ODT write (#1682, Todd Sifleet).
- FB2 writer:
- Add newline to output.
- EPUB writer:
- Don't add
sourceURL
to absolute URIs (#1669). - Don't use unsupported
opf:title-type
for epub2. - Include "landmarks" section in nav document for epub3 (#1757).
- Removed playOrder from navpoint elements in ncx file (#1760). These aren't required, and they make manual modification of epubs difficult.
- Extract title even from structured title.
- Don't include nav node in spine unless
--toc
was requested. Previously we included it in the spine withlinear="no"
, leading to odd results in some readers (#1593). - Fixed absolute URI detection (#1672).
- Correctly resolve relative URIs (#1671).
- Use regular page template for
nav.xhtml
, including doctype (#1759). - Docx writer:
- Put docx table captions above tables (#1641, Nikolay Yakimov).
- Get the page width from the reference docx file, and use it to scale images that are too large to fit (Grégory Bataille).
- Partial fix for #1607 (Nikolay Yakimov). International heading styles are inferred based on
<w:name val="heading #">
fallback, if there are no en-US "Heading#" styles - Look in user data dir for archive
reference.docx
. - Renumber header and footer relationships to avoid collisions (Jesse Rosenthal). We previously took the old relationship names of the headers and footer in secptr. That led to collisions. We now make a map of availabl names in the relationships file, and then rename in secptr.
- ConTeXt writer:
- Add function toLabel (Mark Szepieniec). This function can be used to sanitize reference labels so that they do not contain any of the illegal characters #[]",{}%()|= . Currently only Links have their labels sanitized, because they are the only Elements that use passed labels.
Text.Pandoc.Shared
:- Moved import of
toChunks
outside of CPP conditional (#1590). - Fix
inDirectory
to reset to the original directory in case an exception occurs (Freiric Barral). - Templates:
- LaTeX template: load polyglossia before bibtex (jgm/pandoc-templates#70). Thanks to bluebirch.
- LaTeX template: Added
\VerbatimFootnotes
if there is verbatim in notes (#1616). - LaTeX template: Add shorthands=off to babel options (#1648).
- EPUB, EPUB3 templates: Added
id="cover"
to body of cover page. This aids styling, making it possible for example to set 0 margins on the title page (#1758). - EPUB, EPUB3 templates: Handle structured metadata on titlepage. Previously we just expected 'title', 'subtitle', 'author', 'date'. Now we still support those, but also support the format recommended for epub metadata in the pandoc README:
Text.Pandoc.Templates.getDefaultTemplate
: don't fail when called with "fb2" (#1660).Text.Pandoc.Parsing
:- Fixed
inlineMath
so it handles\text{..}
containing$
. For example:$x = \text{the $n$th root of $y$}
(#1677). - Change
parseFromString
to fail if not all input is consumed. (Matthew Pickering) - Moved
addWarning
from Markdown reader toParsing
, so it can be used by more readers (API change, Daniel Bergey). Text.Pandoc.Pretty
:- Improve performance of
realLength
(Matthew Pickering). - Make CR + BLANKLINE = BLANKLINE. This fixes an extra blank line we were getting at the end of markdown fragments (as well as rst, org, etc.) (#1705).
Text.Pandoc.MIME
:- Add mime type for WebVTT (Jason Ronallo).
- Changed mime type for
otf
toapplication/vnd.ms-opentype
(#1761). This is needed for epub3 validation. Text.Pandoc.MediaBag
:- Fix Windows specific path problems (#1597).
Text.Pandoc.Shared
:- Make
collapseFilePath
OS-agnostic (Matthew Pickering). - Link the test suite using
-threaded
. This allows the test suite to be run using+RTS -N
. - Added
network
dependency undernetwork-uri
flag in test section. - Give better error messages when someone tries to convert from pdf, doc, odt (#1683).
- Added
track
to list of tags treated by--self-contained
(#1664).