aboutsummaryrefslogtreecommitdiff
path: root/src/Text
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2012-09-14 23:51:43 -0400
committerJohn MacFarlane <jgm@berkeley.edu>2012-09-14 23:51:43 -0400
commitaa476b42cb84cf1f0bdf187574e0f584dc5fea91 (patch)
treed4ff07bab43c631d1d0ac8445db7a201a2fdbcbb /src/Text
parent152ddfb2329f84aba556993a0cd923602037c5ec (diff)
downloadpandoc-aa476b42cb84cf1f0bdf187574e0f584dc5fea91.tar.gz
MediaWiki reader: || between table cells.
Diffstat (limited to 'src/Text')
-rw-r--r--src/Text/Pandoc/Readers/MediaWiki.hs19
1 files changed, 10 insertions, 9 deletions
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