stackage-server/Handler/Feed.hs
Michael Snoyman 20d08ffa31 /feed
2015-10-11 14:16:10 +03:00

28 lines
933 B
Haskell

module Handler.Feed where
import Import
import Stackage.Database
getFeedR :: Handler TypedContent
getFeedR = do
(_, snaps) <- getSnapshots 20 0
let entries = flip map snaps $ \snap -> FeedEntry
{ feedEntryLink = SnapshotR (snapshotName snap) StackageHomeR
, feedEntryUpdated = UTCTime (snapshotCreated snap) 0
, feedEntryTitle = prettyName (snapshotName snap) (snapshotGhc snap)
, feedEntryContent = ""
}
updated <-
case entries of
[] -> liftIO getCurrentTime
x:_ -> return $ feedEntryUpdated x
newsFeed Feed
{ feedTitle = "Recent Stackage snapshots"
, feedLinkSelf = FeedR
, feedLinkHome = HomeR
, feedAuthor = "Stackage Project"
, feedDescription = "Recent Stackage snapshots"
, feedLanguage = "en"
, feedUpdated = updated
, feedEntries = entries
}