* This affects the RST and Markdown readers.
* The type for stateKeys in ParserState has also changed.
* Pandoc, Meta, Inline, and Block have been given Ord instances.
* Reference keys now have a type of their own (Key), with its
own Ord instance for case-insensitive comparison.
Use new rawLaTeXInline' in LaTeX reader, and export rawLaTeXInline
for use in markdown reader.
Fixes bug wherein '\section{foo}' was not recognized as raw TeX
in markdown document.
* This replaces a lot of custom parser code, and expands
the tex -> unicode conversion.
* The behavior has also changed: if the whole formula can't
be converted, the whole formula is left in raw TeX.
Previously, pandoc converted parts of the formula to unicode
and left other parts in raw TeX.
* Added (but not yet exported) readTeXMath', which returns a Maybe.
* Updated tests
+ GHC lacks a threaded runtime on some architectures.
Provide a 'threaded' flag that can be disabled for compiling
on these architectures.
+ Removed '-threaded' from pandoc's ghc-options. '-threaded'
is only needed for markdown2pdf, due to its use of readProcess.
Reason: starting with Cabal 1.8, installing pandoc with '-library
+executable' did not work, since the build-depends in the Library
stanza were ignored. The problem could be solved by repeating the
build-depends in the Executable stanza, but this seems non-ideal
(and might lead to errors later on). The '-library' option isn't
so useful anyway, since to compile pandoc in the first place, you
need a large number of Haskell libraries installed, and in this
case, why balk at another? It was chiefly intended for packagers,
but packagers will need to use a chroot environment anyway, and
they can then simply copy the executable and not the library.
Thanks to Jim Pryor for calling the problem to my attention
in connection with an arch linux package.
Previously some characters that are illegal in HTML identifiers,
such as '<', were being allowed in header identifiers. The logic
has now been fixed. Thanks to Xyne for reporting.
Now it escapes all characters that aren't allowed in a URI.
%, ?, /, and other characters that are allowed in a URI are
left alone. Unicode high characters are UTF-8 encoded.
* Added stringToURI to Shared. This is used in the HTML
writer for all URIs. It properly URI-encodes high
characters (> 127), leaving everything else (including
symbols and spaces) the same.
* Modified unsanitaryURI to allow UTF8 characters in a URI.
(First, we convert the URI to URI-encoded octets, then we
pass through parseURIReference.)
This resolves gitit Issue #99. Previously
'[abc](http://gitit.net/测试)' would not be rendered as
a link when --sanitize was selected.