module Yesod.FeedTypes
( Feed (..)
, FeedEntry (..)
, EntryEnclosure (..)
, EntryCategory (..)
) where
import Text.Hamlet (Html)
import Data.Time.Clock (UTCTime)
import Data.Text (Text)
data Feed url = Feed
{ forall url. Feed url -> Text
feedTitle :: Text
, forall url. Feed url -> url
feedLinkSelf :: url
, forall url. Feed url -> url
feedLinkHome :: url
, forall url. Feed url -> Text
feedAuthor :: Text
, forall url. Feed url -> Html
feedDescription :: Html
, forall url. Feed url -> Text
feedLanguage :: Text
, forall url. Feed url -> UTCTime
feedUpdated :: UTCTime
, forall url. Feed url -> Maybe (url, Text)
feedLogo :: Maybe (url, Text)
, forall url. Feed url -> [FeedEntry url]
feedEntries :: [FeedEntry url]
}
data EntryEnclosure url = EntryEnclosure
{ forall url. EntryEnclosure url -> url
enclosedUrl :: url
, forall url. EntryEnclosure url -> Int
enclosedSize :: Int
, forall url. EntryEnclosure url -> Text
enclosedMimeType :: Text
}
data EntryCategory = EntryCategory
{ EntryCategory -> Maybe Text
categoryDomain :: Maybe Text
, EntryCategory -> Maybe Text
categoryLabel :: Maybe Text
, EntryCategory -> Text
categoryValue :: Text
}
data FeedEntry url = FeedEntry
{ forall url. FeedEntry url -> url
feedEntryLink :: url
, forall url. FeedEntry url -> UTCTime
feedEntryUpdated :: UTCTime
, forall url. FeedEntry url -> Text
feedEntryTitle :: Text
, forall url. FeedEntry url -> Html
feedEntryContent :: Html
, forall url. FeedEntry url -> Maybe (EntryEnclosure url)
feedEntryEnclosure :: Maybe (EntryEnclosure url)
, forall url. FeedEntry url -> [EntryCategory]
feedEntryCategories :: [EntryCategory]
}