X-Git-Url: https://ruin.nu/git/?p=yawbih.git;a=blobdiff_plain;f=Main.hs;h=2fdbbd559f99c7f082766cae3b026e4852bc2701;hp=8dec3829a18d5fe82717ccc98ded344292763635;hb=refs%2Fheads%2Fmaster;hpb=625a2981711271d1f5841c55978d69881d6054da diff --git a/Main.hs b/Main.hs index 8dec382..2fdbbd5 100644 --- a/Main.hs +++ b/Main.hs @@ -6,21 +6,16 @@ import CGIOutput import CGITypes import System import Wiki +import Backend import Control.Monad import Text.ParserCombinators.Parsec -testDB = createPGB "localhost" "wiki" "wiki" "12wiki34db" - -test key = do - db <- testDB - s <- getCurrent db key - print s - ---main = start [] cgi +--backend = createPGB "hostname" "database" "user" "password" +--If you want to implement this function here, then remove the import of Backend main = do - db <- testDB + db <- backend runWithHook [] (\(key:act) -> showPage db (filter (/= '\\') key)) $ showPage db "itproj3" editPage db key = do @@ -56,6 +51,16 @@ showPage db key = do p $ tt $ text $ "Last edited: "++date footer db key +showLatex db key = do + s <- io $ getCurrent db key + standardQuery key $ do + case s of + Nothing -> text "No text added for this keyword" + Just (full, date) -> do + parseLatex full + p $ tt $ text $ "Last edited: "++date + footer db key + parseText full = case parse wikiParser "" full of Right n -> toWash n Left e -> do @@ -63,15 +68,26 @@ parseText full = case parse wikiParser "" full of text (show e) p $ text full +parseLatex full = case parse wikiParser "" full of + Right n -> pre $ text $ toLatex n + Left e -> do + text "PARSE ERROR: " + text (show e) + footer db key = do hr empty - table $ tr $ do + table $ do + tr $ do + td $ text "Keyword: " + searchKey <- td $ textInputField empty + td $ defaultSubmit (F1 searchKey) (\(F1 sk) -> showPage db (value sk)) (attr "value" "Go") + tr $ do td $ submitLink0 (showPage db "itproj3") (text "Back to main page") when (e key) $ td $ submitLink0 (editPage db key) (text "Edit this keyword") when (e key) $ td $ submitLink0 (listRevs db key) (text "List old versions") + when (e key) $ td $ submitLink0 (showLatex db key) (text "Output latex") td $ submitLink0 (listKeywords db) (text "List all keywords") - td $ text "Keyword: " - td $ activate (showPage db) textInputField empty + --td $ activate (showPage db) textInputField empty e "" = False e _ = True