aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Writers/Docx/OpenXML.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Text/Pandoc/Writers/Docx/OpenXML.hs')
-rw-r--r--src/Text/Pandoc/Writers/Docx/OpenXML.hs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Text/Pandoc/Writers/Docx/OpenXML.hs b/src/Text/Pandoc/Writers/Docx/OpenXML.hs
index e3900f32f..6713d9c07 100644
--- a/src/Text/Pandoc/Writers/Docx/OpenXML.hs
+++ b/src/Text/Pandoc/Writers/Docx/OpenXML.hs
@@ -286,6 +286,8 @@ writeOpenXML opts (Pandoc meta blocks) = do
(fmap (vcat . map (literal . showContent)) . blocksToOpenXML opts)
(fmap (hcat . map (literal . showContent)) . inlinesToOpenXML opts)
meta
+ cStyleMap <- gets (smParaStyle . stStyleMaps)
+ let styleIdOf name = fromStyleId $ getStyleIdFromName name cStyleMap
let context = resetField "body" body
. resetField "toc"
(vcat (map (literal . showElement) toc))
@@ -299,6 +301,12 @@ writeOpenXML opts (Pandoc meta blocks) = do
. resetField "date" date
. resetField "abstract-title" abstractTitle
. resetField "abstract" abstract
+ . resetField "title-style-id" (styleIdOf "Title")
+ . resetField "subtitle-style-id" (styleIdOf "Subtitle")
+ . resetField "author-style-id" (styleIdOf "Author")
+ . resetField "date-style-id" (styleIdOf "Date")
+ . resetField "abstract-title-style-id" (styleIdOf "AbstractTitle")
+ . resetField "abstract-style-id" (styleIdOf "Abstract")
$ metadata
tpl <- maybe (lift $ compileDefaultTemplate "openxml") pure $ writerTemplate opts
let rendered = render Nothing $ renderTemplate tpl context