X-Git-Url: https://ruin.nu/git/?p=yawbih.git;a=blobdiff_plain;f=Wiki.hs;fp=Wiki.hs;h=2d394b8243d273dcd3fac82abe0c1b51e9e3d1f2;hp=2b8b31383779ae576115b14cdc106522b4bf99d1;hb=85eacfb829b94b0e1d7a6ca77f39546f6285fb4c;hpb=402636b8fc1d0a38a550f7a678bbfdcebb932686 diff --git a/Wiki.hs b/Wiki.hs index 2b8b313..2d394b8 100644 --- a/Wiki.hs +++ b/Wiki.hs @@ -41,7 +41,7 @@ data Markup = Text String | Url String | Underline [Markup] | Strike [Markup] - | Pre String + | Pre [Markup] | List Bool [[Markup]] type Document = [Markup] @@ -85,7 +85,7 @@ pURL :: Parser Markup pURL = do proto <- many1 letter string "://" - s <- many1 (alphaNum <|> oneOf "?.:&-/") + s <- many1 (alphaNum <|> oneOf "?.:&-/~%=\\_") return (Url (proto++"://"++s)) pMail :: Parser Markup @@ -98,7 +98,7 @@ pMail = do pPre :: Parser Markup pPre = string "
" >> do
-	s <- pString "
" + s <- pUntil (pOneLine <|> pEol) "" return (Pre s) pBold,pEmph,pUnderline,pStrike :: Parser Markup @@ -244,7 +244,7 @@ toHtml ((Underline d):xs) = ""++toHtml d++""++toHtml xs toHtml ((Strike d):xs) = ""++toHtml d++""++toHtml xs toHtml ((Heading n d):xs) = "\n"++toHtml d++"\n"++toHtml xs toHtml ((Url l):xs) = ""++toHtml xs -toHtml ((Pre s):xs) = "
"++s++"
"++toHtml xs +toHtml ((Pre s):xs) = "
"++toHtml s++"
"++toHtml xs toHtml ((List o l):xs) = "<"++listType o++">\n"++(unlines $ map (\s -> "
  • "++toHtml s++"
  • \n") l) ++ ""++toHtml xs listType True = "ol"