From 33f47d6d86246160cceb14804c6bd9746aad3b1e Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Wed, 14 Sep 2022 13:41:54 +1000 Subject: [server] remove refs from infobox --- src/Servall/WikiParser.hs | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) (limited to 'src/Servall/WikiParser.hs') diff --git a/src/Servall/WikiParser.hs b/src/Servall/WikiParser.hs index d240c3b..d509412 100644 --- a/src/Servall/WikiParser.hs +++ b/src/Servall/WikiParser.hs @@ -12,6 +12,7 @@ import Data.Attoparsec.Text ( Parser , choice , many' , manyTill + , notChar , parse , parseOnly , sepBy @@ -45,6 +46,9 @@ import Text.Pandoc.Definition ( Block(..) ) import Text.Pandoc.Generic ( topDown ) +wikilinkPrefix :: Text +wikilinkPrefix = "wiki:" + parseWikiTemplates :: Text -> Either String [WikiTemplate] parseWikiTemplates = parseOnly wikiP @@ -94,7 +98,14 @@ tempFieldValueP :: Parser Text tempFieldValueP = do skipSpace T.concat <$> many' - (choice [templateP >> return "", commentP >> return "", wikilinkP, simpleP]) + (choice + [ skipRefP + , templateP >> return "" + , commentP >> return "" + , wikilinkP + , simpleP + ] + ) where simpleP :: Parser Text simpleP = do @@ -106,6 +117,8 @@ tempFieldValueP = do <|> string "