git.iko.soy/typeable/pandoc
on master help sign in
Replaced individual wrapping routines in RST, Man, and

Markdown writers with 'wrapped' from Text.Pandoc.Shared. git-svn-id: https://pandoc.googlecode.com/svn/trunk@967 788f1e2b-df1e-0410-8736-df70ead52e1b

commitdcb1dd1ee4311fa2ae26c8ae43418d5991740cf2 authorfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> dateThu 30 Aug 2007, 22:59 (19 years ago) parent7ff2706
3 files changed+6−23
src/Text/Pandoc/Writers/Man.hs+2−8 src/Text/Pandoc/Writers/Markdown.hs+3−8 src/Text/Pandoc/Writers/RST.hs+1−7
src/Text/Pandoc/Writers/Man.hs+2−8
@@ -98,12 +98,6 @@ noteToMan opts num note = do
9898 let marker = text "\n.SS [" <> text (show num) <> char ']'
9999 return $ marker $$ contents
100100
101−wrappedMan :: WriterOptions -> [Inline] -> State WriterState Doc
102−wrappedMan opts sect = do
103− let chunks = splitBy Space sect
104− chunks' <- mapM (inlineListToMan opts) chunks
105− return $ fsep chunks'
106−
107101-- | Association list of characters to escape.
108102manEscapes :: [(Char, String)]
109103manEscapes = [('\160', "\\ "), ('\'', "\\[aq]")] ++ backslashEscapes "\".@\\"
@@ -121,9 +115,9 @@ blockToMan :: WriterOptions -- ^ Options
121115 -> Block -- ^ Block element
122116 -> State WriterState Doc
123117blockToMan opts Null = return empty
124−blockToMan opts (Plain inlines) = wrappedMan opts inlines
118+blockToMan opts (Plain inlines) = wrapped (inlineListToMan opts) inlines
125119blockToMan opts (Para inlines) = do
126− contents <- wrappedMan opts inlines
120+ contents <- wrapped (inlineListToMan opts) inlines
127121 return $ text ".PP" $$ contents
128122blockToMan opts (RawHtml str) = return $ text str
129123blockToMan opts HorizontalRule = return $ text $ ".PP\n * * * * *"
src/Text/Pandoc/Writers/Markdown.hs+3−8
@@ -96,12 +96,6 @@ noteToMarkdown opts num blocks = do
9696 let marker = text "[^" <> text (show num) <> text "]:"
9797 return $ hang marker (writerTabStop opts) contents
9898
99−wrappedMarkdown :: WriterOptions -> [Inline] -> State WriterState Doc
100−wrappedMarkdown opts sect = do
101− let chunks = splitBy Space sect
102− chunks' <- mapM (inlineListToMarkdown opts) chunks
103− return $ fsep chunks'
104−
10599-- | Escape special characters for Markdown.
106100escapeString :: String -> String
107101escapeString = escapeStringUsing markdownEscapes
@@ -150,9 +144,10 @@ blockToMarkdown :: WriterOptions -- ^ Options
150144 -> Block -- ^ Block element
151145 -> State WriterState Doc
152146blockToMarkdown opts Null = return empty
153−blockToMarkdown opts (Plain inlines) = wrappedMarkdown opts inlines
147+blockToMarkdown opts (Plain inlines) =
148+ wrapped (inlineListToMarkdown opts) inlines
154149blockToMarkdown opts (Para inlines) = do
155− contents <- wrappedMarkdown opts inlines
150+ contents <- wrapped (inlineListToMarkdown opts) inlines
156151 return $ contents <> text "\n"
157152blockToMarkdown opts (RawHtml str) = return $ text str
158153blockToMarkdown opts HorizontalRule = return $ text "\n* * * * *\n"
src/Text/Pandoc/Writers/RST.hs+1−7
@@ -107,15 +107,9 @@ pictToRST opts (label, (src, _)) = do
107107-- | Take list of inline elements and return wrapped doc.
108108wrappedRST :: WriterOptions -> [Inline] -> State WriterState Doc
109109wrappedRST opts inlines =
110− mapM (wrappedRSTSection opts) (splitBy LineBreak inlines) >>=
110+ mapM (wrapped (inlineListToRST opts)) (splitBy LineBreak inlines) >>=
111111 return . vcat
112112
113−wrappedRSTSection :: WriterOptions -> [Inline] -> State WriterState Doc
114−wrappedRSTSection opts sect = do
115− let chunks = splitBy Space sect
116− chunks' <- mapM (inlineListToRST opts) chunks
117− return $ fsep chunks'
118−
119113-- | Escape special characters for RST.
120114escapeString :: String -> String
121115escapeString = escapeStringUsing (backslashEscapes "`\\|*_")