git.iko.soy/typeable/pandoc
on master help sign in
Textile reader: added hrule parser.
d4e5127John MacFarlane
src/Text/Pandoc/Readers/Textile.hs+13
@@ -106,6 +106,7 @@ blockParsers :: [GenParser Char ParserState Block]
106blockParsers = [ codeBlock
106blockParsers = [ codeBlock
107 , header
107 , header
108 , blockQuote
108 , blockQuote
109+ , hrule
109 , anyList
110 , anyList
110 , rawHtmlBlock'
111 , rawHtmlBlock'
111 , maybeExplicitBlock "table" table
112 , maybeExplicitBlock "table" table
@@ -151,6 +152,18 @@ blockQuote = try $ do
151 whitespace
152 whitespace
152 para >>= return . BlockQuote . (:[])
153 para >>= return . BlockQuote . (:[])
153
154
155+-- Horizontal rule
156+
157+hrule :: GenParser Char st Block
158+hrule = try $ do
159+ skipSpaces
160+ start <- oneOf "-*"
161+ count 2 (skipSpaces >> char start)
162+ skipMany (spaceChar <|> char start)
163+ newline
164+ optional blanklines
165+ return HorizontalRule
166+
154-- Lists handling
167-- Lists handling
155
168
156-- | Can be a bullet list or an ordered list. This implementation is
169-- | Can be a bullet list or an ordered list. This implementation is
tests/textile-reader.native+1−1
@@ -1,6 +1,6 @@
1Pandoc (Meta {docTitle = [Str ""], docAuthors = [[Str ""]], docDate = [Str ""]})
1Pandoc (Meta {docTitle = [Str ""], docAuthors = [[Str ""]], docDate = [Str ""]})
2[ Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Space,Str "Textile",Space,Str "Reader",Str ".",Space,Str "Part",Space,Str "of",Space,Str "it",Space,Str "comes",LineBreak,Str "from",Space,Str "John",Space,Str "Gruber",Str "'",Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
2[ Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Space,Str "Textile",Space,Str "Reader",Str ".",Space,Str "Part",Space,Str "of",Space,Str "it",Space,Str "comes",LineBreak,Str "from",Space,Str "John",Space,Str "Gruber",Str "'",Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite",Str "."]
3−, Para [Strikeout [Str "-"],Str "-",Str "-"]
3+, HorizontalRule
4, Header 1 [Str "Headers"]
4, Header 1 [Str "Headers"]
5, Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embeded",Space,Str "link"] ("http://www.example.com","")]
5, Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embeded",Space,Str "link"] ("http://www.example.com","")]
6, Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Strong [Str "emphasis"]]
6, Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Strong [Str "emphasis"]]