summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2012-09-30 09:59:22 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2012-09-30 09:59:22 -0700
commitb07ea7a02d94de042003a2287e5f5216a41e4e4e (patch)
tree7b9e230b11cb41ad98891457ca457e0258913375
parente5740a138e291995d97e91d038d174977b0456f0 (diff)
RST reader: Consolidated rawBlock into directive.
-rw-r--r--src/Text/Pandoc/Readers/RST.hs16
-rw-r--r--tests/rst-reader.native6
2 files changed, 4 insertions, 18 deletions
diff --git a/src/Text/Pandoc/Readers/RST.hs b/src/Text/Pandoc/Readers/RST.hs
index d6aa5aba1..e3ab7032b 100644
--- a/src/Text/Pandoc/Readers/RST.hs
+++ b/src/Text/Pandoc/Readers/RST.hs
@@ -132,7 +132,6 @@ parseBlocks = mconcat <$> manyTill block eof
block :: RSTParser Blocks
block = choice [ codeBlock
- , rawBlock
, blockQuote
, fieldList
, directive
@@ -354,18 +353,6 @@ birdTrackLine :: Parser [Char] st [Char]
birdTrackLine = char '>' >> manyTill anyChar newline
--
--- raw html/latex/etc
---
-
-rawBlock :: Parser [Char] st Blocks
-rawBlock = try $ do
- string ".. raw:: "
- lang <- many1 (letter <|> digit)
- blanklines
- result <- indentedBlock
- return $ B.rawBlock lang result
-
---
-- block quotes
--
@@ -501,10 +488,8 @@ directive = try $ do
directive'
-- TODO: line-block, parsed-literal, table, csv-table, list-table
--- replace, unicode
-- date
-- include
--- raw (consolidate)
-- class
-- title
directive' :: RSTParser Blocks
@@ -523,6 +508,7 @@ directive' = do
optional blanklines
let body' = body ++ "\n\n"
case label of
+ "raw" -> return $ B.rawBlock (trim top) (stripTrailingNewlines body)
"container" -> parseFromString parseBlocks body'
"replace" -> B.para <$> -- consumed by substKey
parseFromString (trimInlines . mconcat <$> many inline)
diff --git a/tests/rst-reader.native b/tests/rst-reader.native
index 5a9eea147..d41274621 100644
--- a/tests/rst-reader.native
+++ b/tests/rst-reader.native
@@ -175,11 +175,11 @@ Pandoc (Meta {docTitle = [Str "Pandoc",Space,Str "Test",Space,Str "Suite",Str ":
[[Para [Str "123-4567"]]])]
,Header 1 [Str "HTML",Space,Str "Blocks"]
,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
-,RawBlock "html" "<div>foo</div>\n"
+,RawBlock "html" "<div>foo</div>"
,Para [Str "Now,",Space,Str "nested:"]
-,RawBlock "html" "<div>\n <div>\n <div>\n foo\n </div>\n </div>\n</div>\n"
+,RawBlock "html" "<div>\n <div>\n <div>\n foo\n </div>\n </div>\n</div>"
,Header 1 [Str "LaTeX",Space,Str "Block"]
-,RawBlock "latex" "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}\n"
+,RawBlock "latex" "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}"
,Header 1 [Str "Inline",Space,Str "Markup"]
,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ".",Space,Str "This",Space,Str "is",Space,Strong [Str "strong"],Str "."]
,Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ("",[],[]) ">",Str ",",Space,Code ("",[],[]) "$",Str ",",Space,Code ("",[],[]) "\\",Str ",",Space,Code ("",[],[]) "\\$",Str ",",Space,Code ("",[],[]) "<html>",Str "."]