X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=Main.hs;h=eb1e82d7cdd1ef04a925e4b392220575199fa698;hb=464842463236cab162bb4cffa8bebe8b42f3b3eb;hp=324241616b6b4c462ceceddd58b41fb525af98e1;hpb=ee02e144cc032d02afc0aaf3b1e73a1a68963ac6;p=yawbih.git diff --git a/Main.hs b/Main.hs index 3242416..eb1e82d 100644 --- a/Main.hs +++ b/Main.hs @@ -56,7 +56,7 @@ showPage db key = do footer db key parseText full = case parse wikiParser "" full of - Right n -> ex n + Right n -> toWash n Left e -> do text "PARSE ERROR: " text (show e) @@ -102,28 +102,37 @@ changeCurrent db key id = do p empty linkKey db key -ex [] = return () -ex ((Paragraph):xs) = do +toWash [] = return () +toWash ((Paragraph):xs) = do p empty - ex xs -ex ((Text s):xs) = do + toWash xs +toWash ((Text s):xs) = do text s - ex xs -ex ((Link l d):xs) = do + toWash xs +toWash ((Link l d):xs) = do hlink (URL {unURL = ("wiki?"++l)}) (text d) - ex xs -ex ((Bold d):xs) = do - b (ex d) - ex xs -ex ((Emph d):xs) = do - em (ex d) - ex xs -ex ((Heading n d):xs) = do - heading n $ ex d - ex xs -ex ((Url l):xs) = do - hlink (URL {unURL = ("wiki?"++l)}) (text l) - ex xs + toWash xs +toWash ((Bold d):xs) = do + b (toWash d) + toWash xs +toWash ((Emph d):xs) = do + em (toWash d) + toWash xs +toWash ((Underline d):xs) = do + u (toWash d) + toWash xs +toWash ((Strike d):xs) = do + strike (toWash d) + toWash xs +toWash ((Heading n d):xs) = do + heading n $ toWash d + toWash xs +toWash ((Url l):xs) = do + hlink (URL {unURL = (l)}) (text l) + toWash xs +toWash ((Pre s):xs) = do + pre $ text s + toWash xs heading 1 = h1 heading 2 = h2 @@ -131,19 +140,3 @@ heading 3 = h3 heading 4 = h4 heading 5 = h5 heading 6 = h6 - -ex2 [] = [] -ex2 ((Paragraph):xs) = "

"++ex2 xs -ex2 ((Text s):xs) = s++ex2 xs -ex2 ((Link l d):xs) = ""++ex2 xs -ex2 ((Bold d):xs) = ""++ex2 d++""++ex2 xs -ex2 ((Emph d):xs) = ""++ex2 d++""++ex2 xs -ex2 ((Heading n d):xs) = ""++ex2 d++""++ex2 xs -ex2 ((Url l):xs) = ""++ex2 xs - - -test s = case parse wikiParser "" s of - Right n -> do - print (ex2 n) - Left e -> do - print e