@@ -189,8 +189,9 @@ rowsep = try $ guardColumnOne *> sym "|-" <* blanklines
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 "||"))
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
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
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 ++ "}}"
221blockTag :: MWParser Blocks
222blockTag :: MWParser Blocks
222blockTag = do
223blockTag = do