git.iko.soy/typeable/pandoc
on master help sign in
In writing Markdown, print unicode nonbreaking space
7d3382efiddlosopher
src/Text/Pandoc/Writers/Markdown.hs+8−1
@@ -48,9 +48,16 @@ writeMarkdown options (Pandoc meta blocks) =
48 else empty in
48 else empty in
49 render $ head <> body
49 render $ head <> body
50
50
51+-- | Escape nonbreaking space as &nbsp; entity
52+escapeNbsp "" = ""
53+escapeNbsp ('\160':xs) = "&nbsp;" ++ escapeNbsp xs
54+escapeNbsp str =
55+ let (a,b) = break (=='\160') str in
56+ a ++ escapeNbsp b
57+
51-- | Escape special characters for Markdown.
58-- | Escape special characters for Markdown.
52escapeString :: String -> String
59escapeString :: String -> String
53−escapeString = backslashEscape "`<\\*_^"
60+escapeString = backslashEscape "`<\\*_^" . escapeNbsp
54
61
55-- | Take list of inline elements and return wrapped doc.
62-- | Take list of inline elements and return wrapped doc.
56wrappedMarkdown :: [Inline] -> Doc
63wrappedMarkdown :: [Inline] -> Doc