* Text.Pandoc.Options.WriterOptions: removed writerReferenceDocx
and writerReferenceODT, replaced them with writerReferenceDoc.
This can hold either an ODT or a Docx. In this way, writerReferenceDoc
is like writerTemplate, which can hold templates of different
formats. [API change]
* Removed `--reference-docx` and `--reference-odt` options.
* Added `--reference-doc` option.
Signature of pipeProcess has changed: the return value is
now IO (ExitCode, ByteString) -- with only stdout. Stderr
is just inherited from the parent.
This means that stderr from filters will now be streamed
as the filters are run.
Closes#2729.
There are two states in PandocPure, but it is only easy to deal with
CommonState. In the past, to do state monad operations on
PureState (the state specific to PandocPure) you had to add (lift
. lift) to the monadic operation and then rewrap in the newtype. This
adds four functions ({get,gets,put,modify}PureState) corresponding to
normal state monad operations. This allows the user to modify
PureState in PandocPure without worrying about where it sits in the
monad stack or rewrapping the newtype.
It now lives in IO and gives a proper message + exit
instead of calling 'error'.
We shouldn't be making it easier for people to raise error on
pure code. And this is better for the main application
in IO.
* Removed handleIncludes from LaTeX reader [API change].
* Now the ordinary LaTeX reader handles includes in a way
that is appropriate to the monad it is run in.
* Renaming Text.Pandoc.Class.warn to addWarning avoids conflict
with Text.Pandoc.Shared.warn.
* Removed writeRTFWithEmbeddedImages from Text.Pandoc.Writers.RTF.
This is no longer needed; we automatically handle embedded images
using the PandocM functions. [API change]
* Remove exported module `Text.Pandoc.Readers.TeXMath`
* Add exported module `Text.Pandoc.Writers.Math`
* The function `texMathToInlines` now lives in `Text.Pandoc.Writers.Math`
* Export helper function `convertMath` from `Text.Pandoc.Writers.Math`
* Use these functions in all writers that do math conversion.
This ensures that warnings will always be issued for failed
math conversions.