diff options
author | John MacFarlane <jgm@berkeley.edu> | 2012-09-14 23:51:43 -0400 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2012-09-14 23:51:43 -0400 |
commit | aa476b42cb84cf1f0bdf187574e0f584dc5fea91 (patch) | |
tree | d4ff07bab43c631d1d0ac8445db7a201a2fdbcbb /src | |
parent | 152ddfb2329f84aba556993a0cd923602037c5ec (diff) | |
download | pandoc-aa476b42cb84cf1f0bdf187574e0f584dc5fea91.tar.gz |
MediaWiki reader: || between table cells.
Diffstat (limited to 'src')
-rw-r--r-- | src/Text/Pandoc/Readers/MediaWiki.hs | 19 |
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 |