diff options
author | Nikolay Yakimov <root@livid.pp.ru> | 2015-02-22 23:25:12 +0300 |
---|---|---|
committer | Nikolay Yakimov <root@livid.pp.ru> | 2015-02-22 23:25:12 +0300 |
commit | 8b3acde9deaeb30ba75299001ea1b15345983f3c (patch) | |
tree | 487cdaf2a19f46733efebe3fa417332993f61abd /src | |
parent | 80715ecd7a39288aef501b3550b45cb2f121df10 (diff) | |
download | pandoc-8b3acde9deaeb30ba75299001ea1b15345983f3c.tar.gz |
If --no-highlight is set, remove *Tok styles.
Diffstat (limited to 'src')
-rw-r--r-- | src/Text/Pandoc/Writers/Docx.hs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Writers/Docx.hs b/src/Text/Pandoc/Writers/Docx.hs index a240997ab..64da9a497 100644 --- a/src/Text/Pandoc/Writers/Docx.hs +++ b/src/Text/Pandoc/Writers/Docx.hs @@ -395,8 +395,16 @@ writeDocx opts doc@(Pandoc meta _) = do -- styles let newstyles = styleToOpenXml charStyles $ writerHighlightStyle opts - let styledoc' = styledoc{ elContent = elContent styledoc ++ - [Elem x | x <- newstyles, writerHighlight opts] } + let styledoc' = styledoc{ elContent = modifyContent (elContent styledoc) } + where + modifyContent + | writerHighlight opts = (++ map Elem newstyles) + | otherwise = filter notTokStyle + notTokStyle (Elem el) = notStyle el || notTokId el + notTokStyle _ = True + notStyle = (/= myName "style") . elName + notTokId = maybe True (`notElem` tokStys) . getAttrStyleId + tokStys = map show $ enumFromTo KeywordTok NormalTok let styleEntry = toEntry stylepath epochtime $ renderXml styledoc' -- construct word/numbering.xml |