Safe Haskell | None |
---|---|
Language | Haskell2010 |
Support for RSS extensions. Cf specification at http://web.resource.org/rss/1.0/modules/.
For now, only parsing is implemented. Rendering will be implemented later.
- class ParseRssExtension a where
- type ParseRssExtensions e = (AllConstrained ParseRssExtension e, SingI e)
- class RenderRssExtension e where
- type RenderRssExtensions e = AllConstrained RenderRssExtension e
- parseRssChannelExtensions :: ParseRssExtensions e => MonadThrow m => ConduitM Event o m (RssChannelExtensions e)
- parseRssItemExtensions :: ParseRssExtensions e => MonadThrow m => ConduitM Event o m (RssItemExtensions e)
- renderRssChannelExtensions :: Monad m => RenderRssExtensions e => RssChannelExtensions e -> Source m Event
- renderRssItemExtensions :: Monad m => RenderRssExtensions e => RssItemExtensions e -> Source m Event
Documentation
class ParseRssExtension a where Source #
Class of RSS extensions that can be parsed.
parseRssChannelExtension :: MonadThrow m => ConduitM 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 => ConduitM Event o m (RssItemExtension a) 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.
class RenderRssExtension e where Source #
Class of RSS extensions that can be rendered.
renderRssChannelExtension :: Monad m => RssChannelExtension e -> Source m Event Source #
Render extension for the <channel>
element.
renderRssItemExtension :: Monad m => RssItemExtension e -> Source m Event Source #
Render extension for the <item>
element.
type RenderRssExtensions e = AllConstrained RenderRssExtension e Source #
Requirement on a list of extension tags to be able to render them.
parseRssChannelExtensions :: ParseRssExtensions e => MonadThrow m => ConduitM Event o m (RssChannelExtensions e) Source #
Parse a combination of RSS extensions at <channel>
level.
parseRssItemExtensions :: ParseRssExtensions e => MonadThrow m => ConduitM Event o m (RssItemExtensions e) Source #
Parse a combination of RSS extensions at <item>
level.
renderRssChannelExtensions :: Monad m => RenderRssExtensions e => RssChannelExtensions e -> Source m Event Source #
Render a set of <channel>
extensions.
renderRssItemExtensions :: Monad m => RenderRssExtensions e => RssItemExtensions e -> Source m Event Source #
Render a set of <item>
extensions.