aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaul.rivier <paul.r.ml@gmail.com>2012-05-29 13:41:28 +0200
committerJohn MacFarlane <jgm@berkeley.edu>2012-05-29 17:40:55 -0700
commit75cba828b5c69299c3a4a1e33df8deae3a6c291e (patch)
tree04758b46a0551491ebecefd991049704b11c8dac
parent9a47237412035833ea5c6b7900b11fbd0da29b69 (diff)
downloadpandoc-75cba828b5c69299c3a4a1e33df8deae3a6c291e.tar.gz
Textile reader: fix for `<notextile>` and `==`.
Closes #517.
-rw-r--r--src/Text/Pandoc/Readers/Textile.hs13
-rw-r--r--tests/textile-reader.native4
-rw-r--r--tests/textile-reader.textile11
3 files changed, 18 insertions, 10 deletions
diff --git a/src/Text/Pandoc/Readers/Textile.hs b/src/Text/Pandoc/Readers/Textile.hs
index bed13a491..348900d38 100644
--- a/src/Text/Pandoc/Readers/Textile.hs
+++ b/src/Text/Pandoc/Readers/Textile.hs
@@ -493,19 +493,12 @@ escapedInline :: GenParser Char ParserState Inline
escapedInline = escapedEqs <|> escapedTag
escapedEqs :: GenParser Char ParserState Inline
-escapedEqs = Str <$> (try $ surrounded (string "==") anyChar)
-
--- -- | literal text escaped between == ... ==
--- escapedEqs :: GenParser Char ParserState Inline
--- escapedEqs = try $ do
--- string "=="
--- contents <- manyTill anyChar (try $ string "==")
--- return $ Str contents
+escapedEqs = Str <$> (try $ string "==" *> manyTill anyChar (try $ string "=="))
-- | literal text escaped btw <notextile> tags
escapedTag :: GenParser Char ParserState Inline
-escapedTag = try $ Str <$>
- enclosed (string "<notextile>") (try $ string "</notextile>") anyChar
+escapedTag = Str <$>
+ (try $ string "<notextile>" *> manyTill anyChar (try $ string "</notextile>"))
-- | Any special symbol defined in wordBoundaries
symbol :: GenParser Char ParserState Inline
diff --git a/tests/textile-reader.native b/tests/textile-reader.native
index d9fbc4672..39359d13a 100644
--- a/tests/textile-reader.native
+++ b/tests/textile-reader.native
@@ -27,6 +27,10 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\n These should not be escaped: \\$ \\\\ \\> \\[ \\{"
,CodeBlock ("",[],[]) "Code block with .bc\n continued\n @</\\\n"
,Para [Str "Inline",Space,Str "code",Str ":",Space,Code ("",[],[]) "<tt>",Str ",",Space,Code ("",[],[]) "@",Str "."]
+,Header 1 [Str "Notextile"]
+,Para [Str "A",Space,Str "block",Space,Str "of",Space,Str "text",Space,Str "can",Space,Str "be",Space,Str "protected",Space,Str "with",Space,Str "notextile",Space,Str ":"]
+,Para [Str "\nNo *bold* and\n* no bullet\n"]
+,Para [Str "and",Space,Str "inlines",Space,Str "can",Space,Str "be",Space,Str "protected",Space,Str "with",Space,Str "double *equals (=)* markup",Str "."]
,Header 1 [Str "Lists"]
,Header 2 [Str "Unordered"]
,Para [Str "Asterisks",Space,Str "tight",Str ":"]
diff --git a/tests/textile-reader.textile b/tests/textile-reader.textile
index c6450fdfb..adfec90d3 100644
--- a/tests/textile-reader.textile
+++ b/tests/textile-reader.textile
@@ -70,6 +70,17 @@ bc. Code block with .bc
Inline code: @<tt>@, <tt>@</tt>.
+h1. Notextile
+
+A block of text can be protected with notextile :
+
+<notextile>
+No *bold* and
+* no bullet
+</notextile>
+
+and inlines can be protected with ==double *equals (=)* markup==.
+
h1. Lists
h2. Unordered