aboutsummaryrefslogtreecommitdiff
path: root/src/Text
diff options
context:
space:
mode:
Diffstat (limited to 'src/Text')
-rw-r--r--src/Text/Pandoc/Readers/Textile.hs12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Readers/Textile.hs b/src/Text/Pandoc/Readers/Textile.hs
index 52eebd07f..3465eebbe 100644
--- a/src/Text/Pandoc/Readers/Textile.hs
+++ b/src/Text/Pandoc/Readers/Textile.hs
@@ -120,8 +120,16 @@ block = choice blockParsers <?> "block"
codeBlock :: GenParser Char ParserState Block
codeBlock = try $ do
htmlTag False "pre"
- content <- manyTill anyChar (try $ htmlEndTag "pre" >> blockBreak)
- return $ CodeBlock ("",[],[]) content
+ result' <- manyTill anyChar (try $ htmlEndTag "pre" >> blockBreak)
+ -- drop leading newline if any
+ let result'' = case result' of
+ '\n':xs -> xs
+ _ -> result'
+ -- drop trailing newline if any
+ let result''' = case reverse result'' of
+ '\n':_ -> init result''
+ _ -> result''
+ return $ CodeBlock ("",[],[]) result'''
-- | Header of the form "hN. content" with N in 1..6
header :: GenParser Char ParserState Block