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
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
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
toWash ((Link l d):xs) = do
hlink (URL {unURL = ("wiki?"++l)}) (text d)
toWash xs
-toWash ((Bold d):xs) = do
- b (toWash d)
- toWash xs
-toWash ((Emph d):xs) = do
- em (toWash d)
- toWash xs
-toWash ((Mono d):xs) = do
- tt (toWash d)
- toWash xs
-toWash ((Underline d):xs) = do
- u (toWash d)
- toWash xs
-toWash ((Strike d):xs) = do
- strike (toWash d)
+toWash ((Font o d):xs) = do
+ fontOp o (toWash d)
toWash xs
toWash ((Heading n d):xs) = do
heading n $ toWash d
stripMailto ('m':'a':'i':'l':'t':'o':':':xs) = xs
stripMailto xs = xs
+fontOp Bold = b
+fontOp Emph = em
+fontOp Mono = tt
+fontOp Underline = u
+fontOp Strike = strike
+
heading 1 = h1
heading 2 = h2
heading 3 = h3