X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Rakka%2FWiki%2FInterpreter%2FPageList.hs;h=2fe9d305fc46509926a60aa6b1ddff9d22a5c403;hb=d717326c5f603dd140a0b5ee27b412e5e09685cd;hp=8631c8b4bae98d3929b98bbe369ce69925ed429a;hpb=4abf7df08bf0a614ea8179e8d1d69a17aac4f197;p=Rakka.git diff --git a/Rakka/Wiki/Interpreter/PageList.hs b/Rakka/Wiki/Interpreter/PageList.hs index 8631c8b..2fe9d30 100644 --- a/Rakka/Wiki/Interpreter/PageList.hs +++ b/Rakka/Wiki/Interpreter/PageList.hs @@ -6,16 +6,37 @@ module Rakka.Wiki.Interpreter.PageList import Control.Monad import Data.Maybe import Data.Time -import Network.HTTP.Lucu.RFC1123DateTime +import qualified Data.Time.RFC1123 as RFC1123 +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") + } --
@@ -64,14 +85,13 @@ recentUpdatesInterp 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))] + [Inline (Text (RFC1123.format lastMod))] ) ] ++