From aa476b42cb84cf1f0bdf187574e0f584dc5fea91 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Fri, 14 Sep 2012 23:51:43 -0400 Subject: MediaWiki reader: || between table cells. --- src/Text/Pandoc/Readers/MediaWiki.hs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/Text/Pandoc/Readers/MediaWiki.hs b/src/Text/Pandoc/Readers/MediaWiki.hs index 9bd0af12a..d18a98bc0 100644 --- a/src/Text/Pandoc/Readers/MediaWiki.hs +++ b/src/Text/Pandoc/Readers/MediaWiki.hs @@ -189,8 +189,9 @@ rowsep = try $ guardColumnOne *> sym "|-" <* blanklines -- TODO add something like 'guard inTable' since this is used in endline cellsep :: MWParser () -cellsep = try $ guardColumnOne <* - (char '!' <|> (char '|' <* notFollowedBy (oneOf "-}+"))) +cellsep = (try $ guardColumnOne <* + (char '!' <|> (char '|' <* notFollowedBy (oneOf "-}+")))) + <|> (() <$ try (string "||")) tableCaption :: MWParser Inlines tableCaption = try $ do @@ -207,16 +208,16 @@ tableCell :: MWParser Blocks tableCell = try $ do cellsep skipMany spaceChar - ls <- many (notFollowedBy (cellsep <|> rowsep <|> tableEnd) *> anyLine) - parseFromString (mconcat <$> many block) (unlines ls) + ls <- many (notFollowedBy (cellsep <|> rowsep <|> tableEnd) *> anyChar) + parseFromString (mconcat <$> many block) ls template :: MWParser Blocks template = B.rawBlock "mediawiki" <$> doublebrackets - where doublebrackets = try $ do - string "{{" - notFollowedBy (char '{') - contents <- manyTill anyChar (try $ string "}}") - return $ "{{" ++ contents ++ "}}" + where doublebrackets = try $ + do string "{{" + notFollowedBy (char '{') + contents <- manyTill anyChar (try $ string "}}") + return $ "{{" ++ contents ++ "}}" blockTag :: MWParser Blocks blockTag = do -- cgit v1.2.3