The call to toLower in ciMatch was very expensive (and very often
used), because toLower from Data.Char calls a fully unicode
aware function. This optimization avoids the call to toLower
for the most common, ASCII cases. This dramatically reduces the
speed penalty that comes from enabling the `autolink_bare_uris`
extension. The penalty is still substantial (in one test, from 0.33s
to 0.44s), but nowhere near what it used to be.
Now latex macro definitions are preserved when output is latex,
and applied when it is another format, as originally intended.
Partially addresses #730.
\providecommand is still not supported. For this we need changes
to texmath.
Previously we also checked for a null title, but this
test fails for links produced by citeproc-hs in bibliographies.
So, if the link has a title, it will be lost on conversion
to an autolink, but that seems okay.
We no longer needed the smart quote complexity, because of
improvements to singleQuoteStart and singleQuoteEnd.
And we were able to move the check for intraword underscore
to the emphasis parser.
* Tilde code fences can again take bare language.
So
~~~ haskell
is okay, not just
~~~ {.haskell}
* Backtick code blocks can take the bracketed attributes.
* Backtick code blocks don't require a language.
* Consolidated code for the two kinds of fenced code blocks.
Closes#722.
blaze-html/blaze-markup-0.5 has Text.Blaze.Html.Renderer.Utf8
whereas blaze-html-0.4 has Text.Blaze.Renderer.Utf8.
So this needs to be conditional on the version for pandoc
still be with blaze-html-0.4.x
The 1.10 code assumed that each table header cell contains
exactly one block. That failed for headerless tables (0) and also
for tables with multiple blocks in a header cell.
The code is fixed and tests provided. Thanks to Andrew Lee for
pointing out the bug.
* RTF writer: Export writeRTFWithEmbeddedImages instead of
rtfEmbedImage.
* Text.Pandoc: Use writeRTFWithEmbeddedImages for RTF.
* Moved code for embedding images in RTF out of pandoc.hs.
The previous default was to use `<q>` tags in HTML5.
But `<q>` tags are also valid HTML4, and they are not very
robust in HTML5. Some user agents don't support them,
and some CSS resets prevent pandoc's quotes CSS from working
properly (e.g. bootstrap). It seems a better default just
to insert quote characters, but the option is provided for
those who have gotten used to using `<q>` tags.
oneOfStrings will now take the longest match it can in a
list of strings, so if 'foo' and 'foobar' are both included,
'foobar' will match even if 'foo' is first in the list.