RST reader: Consolidated rawBlock into directive.

This commit is contained in:
John MacFarlane
2012-09-30 09:59:22 -07:00
parent e5740a138e
commit b07ea7a02d
2 changed files with 4 additions and 18 deletions
+1 -15
View File
@@ -132,7 +132,6 @@ parseBlocks = mconcat <$> manyTill block eof
block :: RSTParser Blocks
block = choice [ codeBlock
, rawBlock
, blockQuote
, fieldList
, directive
@@ -353,18 +352,6 @@ lhsCodeBlock = try $ do
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)
+3 -3
View File
@@ -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 "."]