mirror of
https://github.com/jgm/pandoc.git
synced 2026-09-05 15:15:41 +00:00
RST reader: Consolidated rawBlock into directive.
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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 "."]
|
||||
|
||||
Reference in New Issue
Block a user