feed-1.3.2.1: Interfacing with RSS (v 0.9x, 2.x, 1.0) + Atom feeds.

Copyright | (c) Galois Inc. 2008 (c) Sigbjorn Finne 2009-
License | BSD3
Maintainer | Sigbjorn Finne <sof@forkIO.com>
Stability | provisional
Safe Haskell | Safe-Inferred
Language | Haskell2010

Text.Feed.Constructor

Description

Synopsis

- data FeedKind
  - = AtomKind
  - | RSSKind (Maybe Text)
  - | RDFKind (Maybe Text)
- newFeed :: FeedKind -> Feed
- feedFromRSS :: RSS -> Feed
- feedFromAtom :: Feed -> Feed
- feedFromRDF :: Feed -> Feed
- feedFromXML :: Element -> Feed
- getFeedKind :: Feed -> FeedKind
- type FeedSetter a = a -> Feed -> Feed
- addItem :: Item -> Feed -> Feed
- withFeedTitle :: FeedSetter Text
- withFeedHome :: FeedSetter URLString
- withFeedHTML :: FeedSetter URLString
- withFeedDescription :: FeedSetter Text
- withFeedPubDate :: FeedSetter Text
- withFeedLastUpdate :: FeedSetter DateString
- withFeedDate :: FeedSetter DateString
- withFeedLogoLink :: URLString -> FeedSetter URLString
- withFeedLanguage :: FeedSetter Text
- withFeedCategories :: FeedSetter [(Text, Maybe Text)]
- withFeedGenerator :: FeedSetter (Text, Maybe URLString)
- withFeedItems :: FeedSetter [Item]
- newItem :: FeedKind -> Item
- getItemKind :: Item -> FeedKind
- atomEntryToItem :: Entry -> Item
- rssItemToItem :: RSSItem -> Item
- rdfItemToItem :: Item -> Item
- type ItemSetter a = a -> Item -> Item
- withItemTitle :: ItemSetter Text
- withItemLink :: ItemSetter URLString
- withItemPubDate :: ItemSetter DateString
- withItemDate :: ItemSetter DateString
- withItemAuthor :: ItemSetter Text
- withItemCommentLink :: ItemSetter Text
- withItemEnclosure :: Text -> Maybe Text -> ItemSetter (Maybe Integer)
- withItemFeedLink :: Text -> ItemSetter Text
- withItemId :: Bool -> ItemSetter Text
- withItemCategories :: ItemSetter [(Text, Maybe Text)]
- withItemDescription :: ItemSetter Text
- withItemRights :: ItemSetter Text

# Documentation

data FeedKind #

The kinds of feed documents supported.

Constructors

AtomKind |
RSSKind (Maybe Text) |
RDFKind (Maybe Text) |

#### Instances

Instances details

Show FeedKind # |
Instance details Defined in Text.Feed.Types Methods showsPrec :: Int -> FeedKind -> ShowS # show :: FeedKind -> String # showList :: [FeedKind] -> ShowS #
Eq FeedKind # |
Instance details Defined in Text.Feed.Types Methods (==) :: FeedKind -> FeedKind -> Bool # (/=) :: FeedKind -> FeedKind -> Bool #

newFeed :: FeedKind -> Feed #

Construct an empty feed document, intending to output it in the `fk` feed format.

feedFromRSS :: RSS -> Feed #

feedFromAtom :: Feed -> Feed #

feedFromRDF :: Feed -> Feed #

feedFromXML :: Element -> Feed #

getFeedKind :: Feed -> FeedKind #

type FeedSetter a = a -> Feed -> Feed #

addItem :: Item -> Feed -> Feed #

withFeedTitle :: FeedSetter Text #

withFeedHome :: FeedSetter URLString #

withFeedHTML :: FeedSetter URLString #

`withFeedHTML` sets the URL where an HTML version of the feed is published.

withFeedDescription :: FeedSetter Text #

`withFeedHTML` sets the URL where an HTML version of the feed is published.

withFeedPubDate :: FeedSetter Text #

withFeedLastUpdate :: FeedSetter DateString #

withFeedDate :: FeedSetter DateString #

'withFeedDate dt' is the composition of `withFeedPubDate` and `withFeedLastUpdate`, setting both publication date and last update date to `dt`. Notice that RSS2.0 is the only format supporting both pub and last-update.

withFeedLogoLink :: URLString -> FeedSetter URLString #

withFeedLanguage :: FeedSetter Text #

withFeedCategories :: FeedSetter [(Text, Maybe Text)] #

withFeedGenerator :: FeedSetter (Text, Maybe URLString) #

withFeedItems :: FeedSetter [Item] #

newItem :: FeedKind -> Item #

getItemKind :: Item -> FeedKind #

atomEntryToItem :: Entry -> Item #

rssItemToItem :: RSSItem -> Item #

rdfItemToItem :: Item -> Item #

type ItemSetter a = a -> Item -> Item #

withItemTitle :: ItemSetter Text #

'withItemTitle myTitle' associates a new title, `myTitle`, with a feed item.

withItemLink :: ItemSetter URLString #

'withItemTitle myLink' associates a new URL, `myLink`, with a feed item.

withItemPubDate :: ItemSetter DateString #

'withItemPubDate dt' associates the creation/ publication date `dt` with a feed item.

withItemDate :: ItemSetter DateString #

`withItemDate` is a synonym for `withItemPubDate`.

withItemAuthor :: ItemSetter Text #

'withItemAuthor auStr' associates new author info with a feed item.

withItemCommentLink :: ItemSetter Text #

'withItemCommentLink url' sets the URL reference to the comment page to `url`.

withItemEnclosure :: Text -> Maybe Text -> ItemSetter (Maybe Integer) #

'withItemEnclosure url mbTy len' sets the URL reference to the comment page to `url`.

withItemFeedLink :: Text -> ItemSetter Text #

'withItemFeedLink name myFeed' associates the parent feed URL `myFeed` with a feed item. It is labelled as `name`.

withItemId :: Bool -> ItemSetter Text #

'withItemId isURL id' associates new unique identifier with a feed item. If `isURL` is `True`, then the id is assumed to point to a valid web resource.

withItemCategories :: ItemSetter [(Text, Maybe Text)] #

withItemDescription :: ItemSetter Text #

'withItemDescription desc' associates a new descriptive string (aka summary) with a feed item.

withItemRights :: ItemSetter Text #

'withItemRights rightStr' associates the rights information `rightStr` with a feed item.