From 66d393ae7ad4199333ef1e61c0c012c169bea093 Mon Sep 17 00:00:00 2001 From: Jesse Rosenthal Date: Mon, 15 Aug 2016 12:41:31 -0400 Subject: Docx Writer: Keep track of dynamic text props too. --- src/Text/Pandoc/Writers/Docx.hs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/Text/Pandoc') diff --git a/src/Text/Pandoc/Writers/Docx.hs b/src/Text/Pandoc/Writers/Docx.hs index 51cdbb621..63ea3d07e 100644 --- a/src/Text/Pandoc/Writers/Docx.hs +++ b/src/Text/Pandoc/Writers/Docx.hs @@ -111,6 +111,7 @@ data WriterState = WriterState{ , stFirstPara :: Bool , stTocTitle :: [Inline] , stDynamicParaProps :: [String] + , stDynamicTextProps :: [String] } defaultWriterState :: WriterState @@ -134,6 +135,7 @@ defaultWriterState = WriterState{ , stFirstPara = False , stTocTitle = normalizeInlines [Str "Table of Contents"] , stDynamicParaProps = [] + , stDynamicTextProps = [] } type WS a = StateT WriterState IO a @@ -1013,6 +1015,7 @@ inlineToOpenXML opts SoftBreak = inlineToOpenXML opts (Str " ") inlineToOpenXML opts (Span (ident,classes,kvs) ils) | Just sty <- lookup dynamicStyleKey kvs = do let kvs' = filter ((dynamicStyleKey, sty)/=) kvs + modify $ \s -> s{stDynamicTextProps = sty : (stDynamicTextProps s)} withTextProp (rCustomStyle sty) $ inlineToOpenXML opts (Span (ident,classes,kvs') ils) | "insertion" `elem` classes = do -- cgit v1.2.3