diff options
Diffstat (limited to 'services/tazblog/src/RSS.hs')
-rw-r--r-- | services/tazblog/src/RSS.hs | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/services/tazblog/src/RSS.hs b/services/tazblog/src/RSS.hs index 02a2aafda969..d3e78ba0fb85 100644 --- a/services/tazblog/src/RSS.hs +++ b/services/tazblog/src/RSS.hs @@ -1,42 +1,48 @@ {-# LANGUAGE RecordWildCards #-} -module RSS (renderFeed) where -import qualified Data.Text as T +module RSS + ( renderFeed + ) +where +import BlogStore import Control.Monad (liftM) -import Data.Maybe (fromMaybe) -import Data.Time (UTCTime(..), getCurrentTime, secondsToDiffTime) +import Data.Maybe (fromMaybe) +import qualified Data.Text as T +import Data.Time (UTCTime (..), getCurrentTime, secondsToDiffTime) +import Locales import Network.URI import Text.RSS -import BlogStore -import Locales - createChannel :: BlogLang -> UTCTime -> [ChannelElem] -createChannel l now = [ Language $ show l - , Copyright "Vincent Ambo" - , WebMaster "tazjin@gmail.com" - , ChannelPubDate now - ] +createChannel l now = + [ Language $ show l, + Copyright "Vincent Ambo", + WebMaster "mail@tazj.in", + ChannelPubDate now + ] createRSS :: BlogLang -> UTCTime -> [Item] -> RSS createRSS l t = RSS (rssTitle l) (rssLink l) (rssDesc l) (createChannel l t) createItem :: Entry -> Item -createItem Entry{..} = [ Title $ T.unpack title - , Link $ makeLink lang entryId - , Description $ T.unpack btext - , PubDate $ UTCTime edate $ secondsToDiffTime 0 ] +createItem Entry {..} = + [ Title $ T.unpack title, + Link $ makeLink lang entryId, + Description $ T.unpack btext, + PubDate $ UTCTime edate $ secondsToDiffTime 0 + ] makeLink :: BlogLang -> EntryId -> URI -makeLink l i = let url = "http://tazj.in/" ++ show l ++ "/" ++ show i - in fromMaybe nullURI $ parseURI url +makeLink l i = + let url = "http://tazj.in/" ++ show l ++ "/" ++ show i + in fromMaybe nullURI $ parseURI url createItems :: [Entry] -> [Item] createItems = map createItem createFeed :: BlogLang -> [Entry] -> IO RSS -createFeed l e = getCurrentTime >>= (\t -> return $ createRSS l t $ createItems e ) +createFeed l e = getCurrentTime >>= (\t -> return $ createRSS l t $ createItems e) renderFeed :: BlogLang -> [Entry] -> IO String renderFeed l e = liftM (showXML . rssToXML) (createFeed l e) |