Safe Haskell | None |
---|---|
Language | Haskell2010 |
Support for RSS extensions. Cf specification at http://web.resource.org/rss/1.0/modules/.
Synopsis
- class ParseRssExtension a where
- parseRssChannelExtension :: MonadThrow m => ConduitT Event o m (RssChannelExtension a)
- parseRssItemExtension :: MonadThrow m => ConduitT Event o m (RssItemExtension a)
- type ParseRssExtensions (e :: [*]) = (AllConstrained ParseRssExtension e, SingI e)
- parseRssChannelExtensions :: ParseRssExtensions e => MonadThrow m => ConduitT Event o m (RssChannelExtensions e)
- parseRssItemExtensions :: ParseRssExtensions e => MonadThrow m => ConduitT Event o m (RssItemExtensions e)
- class RenderRssExtension e where
- renderRssChannelExtension :: Monad m => RssChannelExtension e -> ConduitT () Event m ()
- renderRssItemExtension :: Monad m => RssItemExtension e -> ConduitT () Event m ()
- type RenderRssExtensions (e :: [*]) = AllConstrained RenderRssExtension e
- renderRssChannelExtensions :: Monad m => RenderRssExtensions e => RssChannelExtensions e -> ConduitT () Event m ()
- renderRssItemExtensions :: Monad m => RenderRssExtensions e => RssItemExtensions e -> ConduitT () Event m ()
Parsing
class ParseRssExtension a where Source #
Class of RSS extensions that can be parsed.
parseRssChannelExtension :: MonadThrow m => ConduitT Event o m (RssChannelExtension a) Source #
This parser will be fed with all Event
s within the <channel>
element.
Therefore, it is expected to ignore Event
s unrelated to the RSS extension.
parseRssItemExtension :: MonadThrow m => ConduitT Event o m (RssItemExtension a) Source #
Instances
ParseRssExtension SyndicationModule Source # | |
Defined in Text.RSS.Extensions.Syndication | |
ParseRssExtension DublinCoreModule Source # | |
Defined in Text.RSS.Extensions.DublinCore | |
ParseRssExtension ContentModule Source # | |
Defined in Text.RSS.Extensions.Content parseRssChannelExtension :: MonadThrow m => ConduitT Event o m (RssChannelExtension ContentModule) Source # parseRssItemExtension :: MonadThrow m => ConduitT Event o m (RssItemExtension ContentModule) Source # | |
ParseRssExtension AtomModule Source # | |
Defined in Text.RSS.Extensions.Atom parseRssChannelExtension :: MonadThrow m => ConduitT Event o m (RssChannelExtension AtomModule) Source # parseRssItemExtension :: MonadThrow m => ConduitT Event o m (RssItemExtension AtomModule) Source # |
type ParseRssExtensions (e :: [*]) = (AllConstrained ParseRssExtension e, SingI e) Source #
Requirement on a list of extension tags to be able to parse and combine them.
parseRssChannelExtensions :: ParseRssExtensions e => MonadThrow m => ConduitT Event o m (RssChannelExtensions e) Source #
Parse a combination of RSS extensions at <channel>
level.
parseRssItemExtensions :: ParseRssExtensions e => MonadThrow m => ConduitT Event o m (RssItemExtensions e) Source #
Parse a combination of RSS extensions at <item>
level.
Rendering
class RenderRssExtension e where Source #
Class of RSS extensions that can be rendered.
renderRssChannelExtension :: Monad m => RssChannelExtension e -> ConduitT () Event m () Source #
Render extension for the <channel>
element.
renderRssItemExtension :: Monad m => RssItemExtension e -> ConduitT () Event m () Source #
Render extension for the <item>
element.
Instances
type RenderRssExtensions (e :: [*]) = AllConstrained RenderRssExtension e Source #
Requirement on a list of extension tags to be able to render them.
renderRssChannelExtensions :: Monad m => RenderRssExtensions e => RssChannelExtensions e -> ConduitT () Event m () Source #
Render a set of <channel>
extensions.
renderRssItemExtensions :: Monad m => RenderRssExtensions e => RssItemExtensions e -> ConduitT () Event m () Source #
Render a set of <item>
extensions.