@@ -180,6 +180,7 @@ import Text.Pandoc.Options
180import Text.Pandoc.Shared (safeRead, warn, mapLeft, pandocVersion)
180import Text.Pandoc.Shared (safeRead, warn, mapLeft, pandocVersion)
181import Text.Pandoc.MediaBag (MediaBag)
181import Text.Pandoc.MediaBag (MediaBag)
182import Text.Pandoc.Error
182import Text.Pandoc.Error
183+import Text.Pandoc.Class (runIOorExplode)
183import Data.Aeson
184import Data.Aeson
184import qualified Data.ByteString.Lazy as BL
185import qualified Data.ByteString.Lazy as BL
185import Data.List (intercalate)
186import Data.List (intercalate)
@@ -270,17 +271,23 @@ writers :: [ ( String, Writer ) ]
270writers = [
271writers = [
271 ("native" , PureStringWriter writeNative)
272 ("native" , PureStringWriter writeNative)
272 ,("json" , PureStringWriter writeJSON)
273 ,("json" , PureStringWriter writeJSON)
273− ,("docx" , IOByteStringWriter writeDocx)
274+ ,("docx" , IOByteStringWriter $ \o doc ->
275+ runIOorExplode $ writeDocx o doc)
274− ,("odt" , IOByteStringWriter writeODT)
276+ ,("odt" , IOByteStringWriter $ \o doc ->
277+ runIOorExplode $ writeODT o doc)
275− ,("epub" , IOByteStringWriter $ \o ->
278+ ,("epub" , IOByteStringWriter $ \o doc ->
276− writeEPUB o{ writerEpubVersion = Just EPUB2 })
280+ writeEPUB o{ writerEpubVersion = Just EPUB2 } doc)
277− ,("epub3" , IOByteStringWriter $ \o ->
281+ ,("epub3" , IOByteStringWriter $ \o doc ->
278− writeEPUB o{ writerEpubVersion = Just EPUB3 })
283+ writeEPUB o{ writerEpubVersion = Just EPUB3 } doc)
279− ,("fb2" , IOStringWriter writeFB2)
284+ ,("fb2" , IOStringWriter $ \o doc ->
285+ runIOorExplode $ writeFB2 o doc)
280 ,("html" , PureStringWriter writeHtmlString)
286 ,("html" , PureStringWriter writeHtmlString)
281 ,("html5" , PureStringWriter $ \o ->
287 ,("html5" , PureStringWriter $ \o ->
282 writeHtmlString o{ writerHtml5 = True })
288 writeHtmlString o{ writerHtml5 = True })
283− ,("icml" , IOStringWriter writeICML)
289+ ,("icml" , IOStringWriter $ \o doc ->
290+ runIOorExplode $ writeICML o doc)
284 ,("s5" , PureStringWriter $ \o ->
291 ,("s5" , PureStringWriter $ \o ->
285 writeHtmlString o{ writerSlideVariant = S5Slides
292 writeHtmlString o{ writerSlideVariant = S5Slides
286 , writerTableOfContents = False })
293 , writerTableOfContents = False })
@@ -316,7 +323,8 @@ writers = [
316 ,("dokuwiki" , PureStringWriter writeDokuWiki)
323 ,("dokuwiki" , PureStringWriter writeDokuWiki)
317 ,("zimwiki" , PureStringWriter writeZimWiki)
324 ,("zimwiki" , PureStringWriter writeZimWiki)
318 ,("textile" , PureStringWriter writeTextile)
325 ,("textile" , PureStringWriter writeTextile)
326+ ,("rtf" , IOStringWriter $ \o doc ->
319− ,("rtf" , IOStringWriter writeRTFWithEmbeddedImages)
327+ runIOorExplode $ writeRTFWithEmbeddedImages o doc)
320 ,("org" , PureStringWriter writeOrg)
328 ,("org" , PureStringWriter writeOrg)
321 ,("asciidoc" , PureStringWriter writeAsciiDoc)
329 ,("asciidoc" , PureStringWriter writeAsciiDoc)
322 ,("haddock" , PureStringWriter writeHaddock)
330 ,("haddock" , PureStringWriter writeHaddock)