X-Git-Url: https://ruin.nu/git/index.pl?a=blobdiff_plain;f=Main.hs;h=b1b4f5736db06aa1a13c2935873ccda28360d129;hb=a7ff060c616ef83fcd3fac49ba1ef874c44ab8b1;hp=7e96e65396299c5e75180e240256b2a6acc432ba;hpb=ab78d2448c6bb4078acfc33891e911a14c5f6445;p=yawbih.git diff --git a/Main.hs b/Main.hs index 7e96e65..b1b4f57 100644 --- a/Main.hs +++ b/Main.hs @@ -15,7 +15,7 @@ testDB = createPGB "wave" "wiki" "wiki" "12wiki34db" main = do db <- testDB - runWithHook [] (\(key:act) -> showPage db key) $ showPage db "MainPage" + runWithHook [] (\(key:act) -> showPage db (filter (/= '\\') key)) $ showPage db "MainPage" ps a = standardQuery "Hello" a @@ -52,7 +52,7 @@ showPage db key = do Nothing -> text "No text added for this keyword" Just (full, date) -> do parseText full - p $ text $ "Last edited: "++date + p $ tt $ text $ "Last edited: "++date footer db key parseText full = case parse wikiParser "" full of @@ -112,15 +112,46 @@ ex ((Text s):xs) = do ex ((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 ((Underline d):xs) = do + u (ex d) + ex xs +ex ((Strike d):xs) = do + strike (ex d) + ex xs +ex ((Heading n d):xs) = do + heading n $ ex d + ex xs +ex ((Url l):xs) = do + hlink (URL {unURL = (l)}) (text l) + ex xs + +heading 1 = h1 +heading 2 = h2 +heading 3 = h3 +heading 4 = h4 +heading 5 = h5 +heading 6 = h6 ex2 [] = [] -ex2 ((Paragraph):xs) = "

"++ex2 xs +ex2 ((Paragraph):xs) = "

\n"++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 ((Underline d):xs) = ""++ex2 d++""++ex2 xs +ex2 ((Strike d):xs) = ""++ex2 d++""++ex2 xs +ex2 ((Heading n d):xs) = "\n"++ex2 d++"\n"++ex2 xs +ex2 ((Url l):xs) = ""++ex2 xs test s = case parse wikiParser "" s of Right n -> do - print (ex2 n) + putStr (ex2 n) Left e -> do print e