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

Stability | provisional
Maintainer | Sigbjorn Finne <sof@forkIO.com>
Safe Haskell | Safe-Inferred

Text.Feed.Constructor

Description

Description: Module for an abstraction layer between different kinds of feeds.

Synopsis

- data FeedKind
  - = AtomKind
  - | RSSKind (Maybe String)
  - | RDFKind (Maybe String)
- 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 String
- withFeedHome :: FeedSetter URLString
- withFeedHTML :: FeedSetter URLString
- withFeedDescription :: FeedSetter String
- withFeedPubDate :: FeedSetter String
- withFeedLastUpdate :: FeedSetter DateString
- withFeedDate :: FeedSetter DateString
- withFeedLogoLink :: URLString -> FeedSetter URLString
- withFeedLanguage :: FeedSetter String
- withFeedCategories :: FeedSetter [(String, Maybe String)]
- withFeedGenerator :: FeedSetter (String, 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 String
- withItemLink :: ItemSetter URLString
- withItemPubDate :: ItemSetter DateString
- withItemDate :: ItemSetter DateString
- withItemAuthor :: ItemSetter String
- withItemCommentLink :: ItemSetter String
- withItemEnclosure :: String -> Maybe String -> ItemSetter (Maybe Integer)
- withItemFeedLink :: String -> ItemSetter String
- withItemId :: Bool -> ItemSetter String
- withItemCategories :: ItemSetter [(String, Maybe String)]
- withItemDescription :: ItemSetter String
- withItemRights :: ItemSetter String

# Documentation

data FeedKind Source

The kinds of feed documents supported.

Constructors

AtomKind |
RSSKind (Maybe String) |
RDFKind (Maybe String) |

Instances

Eq FeedKind |
Show FeedKind |

newFeed :: FeedKind -> Feed Source

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

feedFromRSS :: RSS -> Feed Source

feedFromAtom :: Feed -> Feed Source

feedFromRDF :: Feed -> Feed Source

feedFromXML :: Element -> Feed Source

getFeedKind :: Feed -> FeedKind Source

type FeedSetter a = a -> Feed -> Feed Source

addItem :: Item -> Feed -> Feed Source

withFeedTitle :: FeedSetter String Source

withFeedHome :: FeedSetter URLString Source

withFeedHTML :: FeedSetter URLString Source

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

withFeedDescription :: FeedSetter String Source

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

withFeedPubDate :: FeedSetter String Source

withFeedLastUpdate :: FeedSetter DateString Source

withFeedDate :: FeedSetter DateString Source

'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 Source

withFeedLanguage :: FeedSetter String Source

withFeedCategories :: FeedSetter [(String, Maybe String)]Source

withFeedGenerator :: FeedSetter (String, Maybe URLString)Source

withFeedItems :: FeedSetter [Item]Source

newItem :: FeedKind -> Item Source

getItemKind :: Item -> FeedKind Source

atomEntryToItem :: Entry -> Item Source

rssItemToItem :: RSSItem -> Item Source

rdfItemToItem :: Item -> Item Source

type ItemSetter a = a -> Item -> Item Source

withItemTitle :: ItemSetter String Source

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

withItemLink :: ItemSetter URLString Source

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

withItemPubDate :: ItemSetter DateString Source

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

withItemDate :: ItemSetter DateString Source

`withItemDate` is a synonym for `withItemPubDate`.

withItemAuthor :: ItemSetter String Source

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

withItemCommentLink :: ItemSetter String Source

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

withItemEnclosure :: String -> Maybe String -> ItemSetter (Maybe Integer)Source

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

withItemFeedLink :: String -> ItemSetter String Source

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

withItemId :: Bool -> ItemSetter String Source

'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 [(String, Maybe String)]Source

withItemDescription :: ItemSetter String Source

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

withItemRights :: ItemSetter String Source

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