aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b>2007-08-30 22:59:13 +0000
committerfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b>2007-08-30 22:59:13 +0000
commitdcb1dd1ee4311fa2ae26c8ae43418d5991740cf2 (patch)
treec72ccc69784160748747b80eb9b75e1cae01f97f /src
parent7ff270683828b3a3b416220c47321205156711da (diff)
downloadpandoc-dcb1dd1ee4311fa2ae26c8ae43418d5991740cf2.tar.gz
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
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/Writers/Man.hs10
-rw-r--r--src/Text/Pandoc/Writers/Markdown.hs11
-rw-r--r--src/Text/Pandoc/Writers/RST.hs8
3 files changed, 6 insertions, 23 deletions
diff --git a/src/Text/Pandoc/Writers/Man.hs b/src/Text/Pandoc/Writers/Man.hs
index b9596dc2d..fd04732c6 100644
--- a/src/Text/Pandoc/Writers/Man.hs
+++ b/src/Text/Pandoc/Writers/Man.hs
@@ -98,12 +98,6 @@ noteToMan opts num note = do
let marker = text "\n.SS [" <> text (show num) <> char ']'
return $ marker $$ contents
-wrappedMan :: WriterOptions -> [Inline] -> State WriterState Doc
-wrappedMan opts sect = do
- let chunks = splitBy Space sect
- chunks' <- mapM (inlineListToMan opts) chunks
- return $ fsep chunks'
-
-- | Association list of characters to escape.
manEscapes :: [(Char, String)]
manEscapes = [('\160', "\\ "), ('\'', "\\[aq]")] ++ backslashEscapes "\".@\\"
@@ -121,9 +115,9 @@ blockToMan :: WriterOptions -- ^ Options
-> Block -- ^ Block element
-> State WriterState Doc
blockToMan opts Null = return empty
-blockToMan opts (Plain inlines) = wrappedMan opts inlines
+blockToMan opts (Plain inlines) = wrapped (inlineListToMan opts) inlines
blockToMan opts (Para inlines) = do
- contents <- wrappedMan opts inlines
+ contents <- wrapped (inlineListToMan opts) inlines
return $ text ".PP" $$ contents
blockToMan opts (RawHtml str) = return $ text str
blockToMan opts HorizontalRule = return $ text $ ".PP\n * * * * *"
diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs
index a96e11abf..643e5b21a 100644
--- a/src/Text/Pandoc/Writers/Markdown.hs
+++ b/src/Text/Pandoc/Writers/Markdown.hs
@@ -96,12 +96,6 @@ noteToMarkdown opts num blocks = do
let marker = text "[^" <> text (show num) <> text "]:"
return $ hang marker (writerTabStop opts) contents
-wrappedMarkdown :: WriterOptions -> [Inline] -> State WriterState Doc
-wrappedMarkdown opts sect = do
- let chunks = splitBy Space sect
- chunks' <- mapM (inlineListToMarkdown opts) chunks
- return $ fsep chunks'
-
-- | Escape special characters for Markdown.
escapeString :: String -> String
escapeString = escapeStringUsing markdownEscapes
@@ -150,9 +144,10 @@ blockToMarkdown :: WriterOptions -- ^ Options
-> Block -- ^ Block element
-> State WriterState Doc
blockToMarkdown opts Null = return empty
-blockToMarkdown opts (Plain inlines) = wrappedMarkdown opts inlines
+blockToMarkdown opts (Plain inlines) =
+ wrapped (inlineListToMarkdown opts) inlines
blockToMarkdown opts (Para inlines) = do
- contents <- wrappedMarkdown opts inlines
+ contents <- wrapped (inlineListToMarkdown opts) inlines
return $ contents <> text "\n"
blockToMarkdown opts (RawHtml str) = return $ text str
blockToMarkdown opts HorizontalRule = return $ text "\n* * * * *\n"
diff --git a/src/Text/Pandoc/Writers/RST.hs b/src/Text/Pandoc/Writers/RST.hs
index 70df479b5..434cd1cf7 100644
--- a/src/Text/Pandoc/Writers/RST.hs
+++ b/src/Text/Pandoc/Writers/RST.hs
@@ -107,15 +107,9 @@ pictToRST opts (label, (src, _)) = do
-- | Take list of inline elements and return wrapped doc.
wrappedRST :: WriterOptions -> [Inline] -> State WriterState Doc
wrappedRST opts inlines =
- mapM (wrappedRSTSection opts) (splitBy LineBreak inlines) >>=
+ mapM (wrapped (inlineListToRST opts)) (splitBy LineBreak inlines) >>=
return . vcat
-wrappedRSTSection :: WriterOptions -> [Inline] -> State WriterState Doc
-wrappedRSTSection opts sect = do
- let chunks = splitBy Space sect
- chunks' <- mapM (inlineListToRST opts) chunks
- return $ fsep chunks'
-
-- | Escape special characters for RST.
escapeString :: String -> String
escapeString = escapeStringUsing (backslashEscapes "`\\|*_")