-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Helper functions and data types for producing News feeds.
--   
--   Helper functions and data types for producing News feeds.
@package yesod-newsfeed
@version 1.2.0

module Yesod.RssFeed

-- | Generate the feed
rssFeed :: MonadHandler m => Feed (Route (HandlerSite m)) -> m RepRss

-- | Generates a link tag in the head of a widget.
rssLink :: MonadWidget m => Route (HandlerSite m) -> Text -> m ()
newtype RepRss
RepRss :: Content -> RepRss

-- | The overall feed
data Feed url
Feed :: Text -> url -> url -> Text -> Html -> Text -> UTCTime -> [FeedEntry url] -> Feed url
feedTitle :: Feed url -> Text
feedLinkSelf :: Feed url -> url
feedLinkHome :: Feed url -> url
feedAuthor :: Feed url -> Text

-- | note: currently only used for Rss
feedDescription :: Feed url -> Html

-- | note: currently only used for Rss, possible values:
--   <a>http://www.rssboard.org/rss-language-codes</a>
feedLanguage :: Feed url -> Text
feedUpdated :: Feed url -> UTCTime
feedEntries :: Feed url -> [FeedEntry url]

-- | Each feed entry
data FeedEntry url
FeedEntry :: url -> UTCTime -> Text -> Html -> FeedEntry url
feedEntryLink :: FeedEntry url -> url
feedEntryUpdated :: FeedEntry url -> UTCTime
feedEntryTitle :: FeedEntry url -> Text
feedEntryContent :: FeedEntry url -> Html
instance ToContent RepRss
instance ToTypedContent RepRss
instance HasContentType RepRss


-- | Generation of Atom newsfeeds.
module Yesod.AtomFeed
atomFeed :: MonadHandler m => Feed (Route (HandlerSite m)) -> m RepAtom

-- | Generates a link tag in the head of a widget.
atomLink :: MonadWidget m => Route (HandlerSite m) -> Text -> m ()
newtype RepAtom
RepAtom :: Content -> RepAtom

-- | The overall feed
data Feed url
Feed :: Text -> url -> url -> Text -> Html -> Text -> UTCTime -> [FeedEntry url] -> Feed url
feedTitle :: Feed url -> Text
feedLinkSelf :: Feed url -> url
feedLinkHome :: Feed url -> url
feedAuthor :: Feed url -> Text

-- | note: currently only used for Rss
feedDescription :: Feed url -> Html

-- | note: currently only used for Rss, possible values:
--   <a>http://www.rssboard.org/rss-language-codes</a>
feedLanguage :: Feed url -> Text
feedUpdated :: Feed url -> UTCTime
feedEntries :: Feed url -> [FeedEntry url]

-- | Each feed entry
data FeedEntry url
FeedEntry :: url -> UTCTime -> Text -> Html -> FeedEntry url
feedEntryLink :: FeedEntry url -> url
feedEntryUpdated :: FeedEntry url -> UTCTime
feedEntryTitle :: FeedEntry url -> Text
feedEntryContent :: FeedEntry url -> Html
instance ToContent RepAtom
instance ToTypedContent RepAtom
instance HasContentType RepAtom

module Yesod.Feed
newsFeed :: MonadHandler m => Feed (Route (HandlerSite m)) -> m TypedContent

-- | The overall feed
data Feed url
Feed :: Text -> url -> url -> Text -> Html -> Text -> UTCTime -> [FeedEntry url] -> Feed url
feedTitle :: Feed url -> Text
feedLinkSelf :: Feed url -> url
feedLinkHome :: Feed url -> url
feedAuthor :: Feed url -> Text

-- | note: currently only used for Rss
feedDescription :: Feed url -> Html

-- | note: currently only used for Rss, possible values:
--   <a>http://www.rssboard.org/rss-language-codes</a>
feedLanguage :: Feed url -> Text
feedUpdated :: Feed url -> UTCTime
feedEntries :: Feed url -> [FeedEntry url]

-- | Each feed entry
data FeedEntry url
FeedEntry :: url -> UTCTime -> Text -> Html -> FeedEntry url
feedEntryLink :: FeedEntry url -> url
feedEntryUpdated :: FeedEntry url -> UTCTime
feedEntryTitle :: FeedEntry url -> Text
feedEntryContent :: FeedEntry url -> Html
