import Data.Maybe
import Data.Time
import Network.HTTP.Lucu.RFC1123DateTime
+import Network.URI
import Rakka.Storage
+import Rakka.SystemConfig
import Rakka.Utils
import Rakka.Wiki
import Rakka.Wiki.Interpreter
+import System.FilePath
import Text.HyperEstraier
interpreters :: [Interpreter]
-interpreters = [ recentUpdatesInterp ]
+interpreters = [ recentUpdatesURLInterp
+ , recentUpdatesInterp
+ ]
+
+
+recentUpdatesURLInterp :: Interpreter
+recentUpdatesURLInterp
+ = InlineCommandInterpreter {
+ iciName = "recentUpdatesURL"
+ , iciInterpret
+ = \ ctx _ -> do BaseURI baseURI <- getSysConf (ctxSysConf ctx)
+ let uri = baseURI {
+ uriPath = uriPath baseURI </> "search.html"
+ , uriQuery = '?' : mkQueryString [ ("q" , "[UVSET]")
+ , ("order", "@mdate NUMD")
+ ]
+ }
+ return $ ExternalLink uri (Just "List all pages")
+ }
-- <div class="recentUpdates">
mkListItem :: Bool -> HitPage -> IO ListItem
mkListItem showSummary page
= do lastMod <- utcToLocalZonedTime (hpLastMod page)
- return ( [ Inline ( PageLink {
- linkPage = Just (hpPageName page)
- , linkFragment = Nothing
- , linkText = Nothing
- }
- )
+ return ( [ Inline PageLink {
+ linkPage = Just (hpPageName page)
+ , linkFragment = Nothing
+ , linkText = Nothing
+ }
, Block ( Div [("class", "date")]
[Inline (Text (formatRFC1123DateTime lastMod))]
)