git.iko.soy/typeable/pandoc
on master help sign in
Docx reader: Ignore zero (or negative) indent
69743cdJesse Rosenthal
src/Text/Pandoc/Readers/Docx.hs+8−5
@@ -132,7 +132,6 @@ runStyleToContainers rPr =
132
132
133
133
134divAttrToContainers :: [String] -> [(String, String)] -> [Container Block]
134divAttrToContainers :: [String] -> [(String, String)] -> [Container Block]
135−divAttrToContainers [] [] = []
136divAttrToContainers (c:cs) _ | isJust (isHeaderClass c) =
135divAttrToContainers (c:cs) _ | isJust (isHeaderClass c) =
137 let n = fromJust (isHeaderClass c)
136 let n = fromJust (isHeaderClass c)
138 in
137 in
@@ -151,10 +150,14 @@ divAttrToContainers (c:cs) kvs | c `elem` listParagraphDivs =
151divAttrToContainers (c:cs) kvs | c `elem` blockQuoteDivs =
150divAttrToContainers (c:cs) kvs | c `elem` blockQuoteDivs =
152 (Container BlockQuote) : (divAttrToContainers (cs \\ blockQuoteDivs) kvs)
151 (Container BlockQuote) : (divAttrToContainers (cs \\ blockQuoteDivs) kvs)
153divAttrToContainers (_:cs) kvs = divAttrToContainers cs kvs
152divAttrToContainers (_:cs) kvs = divAttrToContainers cs kvs
154−divAttrToContainers [] (kv:kvs) | fst kv == "indent" =
153+divAttrToContainers [] kvs | isJust (lookup "indent" kvs) =
154+ let kvs' = filter (\(k,_) -> k /= "indent") kvs
155+ in
156+ case fromJust (lookup "indent" kvs) of
157+ "0" -> divAttrToContainers [] kvs'
158+ ('-' : _) -> divAttrToContainers [] kvs'
155− (Container BlockQuote) : divAttrToContainers [] kvs
159+ _ -> (Container BlockQuote) : divAttrToContainers [] kvs'
156−divAttrToContainers [] (_:kvs) =
160+divAttrToContainers _ _ = []
157− divAttrToContainers [] kvs
158
161
159
162
160parStyleToContainers :: ParagraphStyle -> [Container Block]
163parStyleToContainers :: ParagraphStyle -> [Container Block]