]> gitweb @ CieloNegro.org - Rakka.git/blob - Rakka/Wiki/Interpreter/Trackback.hs
fix design problem
[Rakka.git] / Rakka / Wiki / Interpreter / Trackback.hs
1 module Rakka.Wiki.Interpreter.Trackback
2     ( interpreters
3     )
4     where
5
6 import           Rakka.Page
7 import           Rakka.SystemConfig
8 import           Rakka.Wiki
9 import           Rakka.Wiki.Interpreter
10
11
12 interpreters :: [Interpreter]
13 interpreters = [ trackbackURLInterp
14                , trackbacksInterp
15                ]
16
17
18 trackbackURLInterp :: Interpreter
19 trackbackURLInterp
20     = InlineCommandInterpreter {
21         iciName = "trackbackURL"
22       , iciInterpret
23           = \ ctx _ -> case ctxPageName ctx of
24                          Nothing
25                              -> return (Text "No trackbacks for this page.")
26                          Just name
27                              -> do BaseURI baseURI <- getSysConf (ctxSysConf ctx)
28                                    let uri = mkAuxiliaryURI baseURI ["trackback"] name
29                                    return $ ExternalLink uri (Just "Trackback URL")
30       }
31
32
33 trackbacksInterp :: Interpreter
34 trackbacksInterp 
35     = BlockCommandInterpreter {
36         bciName = "trackbacks"
37       , bciInterpret
38           = \ _ _ -> return $ Div [("class", "trackbacks")] []
39       }