git.iko.soy/typeable/pandoc
on master help sign in
MediaWiki reader: || between table cells.
aa476b4John MacFarlane
src/Text/Pandoc/Readers/MediaWiki.hs+10−9
@@ -189,8 +189,9 @@ rowsep = try $ guardColumnOne *> sym "|-" <* blanklines
189
189
190-- TODO add something like 'guard inTable' since this is used in endline
190-- TODO add something like 'guard inTable' since this is used in endline
191cellsep :: MWParser ()
191cellsep :: MWParser ()
192−cellsep = try $ guardColumnOne <*
192+cellsep = (try $ guardColumnOne <*
193− (char '!' <|> (char '|' <* notFollowedBy (oneOf "-}+")))
193+ (char '!' <|> (char '|' <* notFollowedBy (oneOf "-}+"))))
194+ <|> (() <$ try (string "||"))
194
195
195tableCaption :: MWParser Inlines
196tableCaption :: MWParser Inlines
196tableCaption = try $ do
197tableCaption = try $ do
@@ -207,16 +208,16 @@ tableCell :: MWParser Blocks
207tableCell = try $ do
208tableCell = try $ do
208 cellsep
209 cellsep
209 skipMany spaceChar
210 skipMany spaceChar
210− ls <- many (notFollowedBy (cellsep <|> rowsep <|> tableEnd) *> anyLine)
211+ ls <- many (notFollowedBy (cellsep <|> rowsep <|> tableEnd) *> anyChar)
211− parseFromString (mconcat <$> many block) (unlines ls)
212+ parseFromString (mconcat <$> many block) ls
212
213
213template :: MWParser Blocks
214template :: MWParser Blocks
214template = B.rawBlock "mediawiki" <$> doublebrackets
215template = B.rawBlock "mediawiki" <$> doublebrackets
215− where doublebrackets = try $ do
216+ where doublebrackets = try $
216− string "{{"
217+ do string "{{"
217− notFollowedBy (char '{')
218+ notFollowedBy (char '{')
218− contents <- manyTill anyChar (try $ string "}}")
219+ contents <- manyTill anyChar (try $ string "}}")
219− return $ "{{" ++ contents ++ "}}"
220+ return $ "{{" ++ contents ++ "}}"
220
221
221blockTag :: MWParser Blocks
222blockTag :: MWParser Blocks
222blockTag = do
223blockTag = do