+pMail :: Parser Markup
+pMail = do
+ user <- many1 (alphaNum <|> oneOf ".-_")
+ char '@'
+ server <- many1 (alphaNum <|> oneOf ".-_")
+ return (Url ("mailto:"++user++"@"++server))
+
+
+pPre :: Parser Markup
+pPre = string "<pre>" >> do
+ s <- pUntil (pOneLine <|> pEol) "</pre>"
+ return (Pre s)
+
+pBold,pEmph,pUnderline,pStrike :: Parser Markup
+pBold = pFont "**" Bold
+pEmph = pFont "//" Emph
+pUnderline = pFont "__" Underline
+pStrike = pFont "--" Strike
+pMono = pFont "||" Mono
+
+pFont s o = string s >> do
+ s <- pStopAt s
+ return (Font o s)
+
+pOtherChar :: Parser Markup