yesod-newsfeed 1.5 → 1.6
raw patch · 5 files changed
+31/−6 lines, 5 files
Files
- ChangeLog.md +4/−0
- Yesod/AtomFeed.hs +3/−2
- Yesod/FeedTypes.hs +18/−1
- Yesod/RssFeed.hs +5/−2
- yesod-newsfeed.cabal +1/−1
ChangeLog.md view
@@ -1,5 +1,9 @@ # Changelog +## 1.6++* Create new datatype `EntryEnclosure` for self-documentation of `feedEntryEnclosure`.+ ## 1.5 ### Yesod/FeedTypes.hs
Yesod/AtomFeed.hs view
@@ -28,7 +28,6 @@ import Yesod.Core import Yesod.FeedTypes-import Text.Hamlet (hamlet) import qualified Data.ByteString.Char8 as S8 import Data.Text (Text) import Data.Text.Lazy (toStrict)@@ -86,7 +85,9 @@ ++ case feedEntryEnclosure of Nothing -> []- Just (route, _, _) -> [Element "link" (Map.fromList [("rel", "enclosure"), ("href", render route)]) []]+ Just (EntryEnclosure{..}) ->+ [Element "link" (Map.fromList [("rel", "enclosure")+ ,("href", render enclosedUrl)]) []] -- | Generates a link tag in the head of a widget. atomLink :: MonadWidget m
Yesod/FeedTypes.hs view
@@ -1,6 +1,7 @@ module Yesod.FeedTypes ( Feed (..) , FeedEntry (..)+ , EntryEnclosure (..) ) where import Text.Hamlet (Html)@@ -27,11 +28,27 @@ , feedEntries :: [FeedEntry url] } +-- | RSS and Atom allow for linked content to be enclosed in a feed entry.+-- This represents the enclosed content.+--+-- Atom feeds ignore 'enclosedSize' and 'enclosedMimeType'.+--+-- @since 1.6+data EntryEnclosure url = EntryEnclosure+ { enclosedUrl :: url+ , enclosedSize :: Int -- ^ Specified in bytes+ , enclosedMimeType :: Text+ }+ -- | Each feed entry data FeedEntry url = FeedEntry { feedEntryLink :: url , feedEntryUpdated :: UTCTime , feedEntryTitle :: Text , feedEntryContent :: Html- , feedEntryEnclosure :: Maybe (url, Int, Text)+ , feedEntryEnclosure :: Maybe (EntryEnclosure url)+ -- ^ Allows enclosed data: RSS \<enclosure> or Atom \<link+ -- rel=enclosure>+ --+ -- @since 1.5 }
Yesod/RssFeed.hs view
@@ -24,7 +24,6 @@ import Yesod.Core import Yesod.FeedTypes-import Text.Hamlet (hamlet) import qualified Data.ByteString.Char8 as S8 import Data.Text (Text, pack) import Data.Text.Lazy (toStrict)@@ -87,7 +86,11 @@ ++ case feedEntryEnclosure of Nothing -> []- Just (route, length, mime) -> [Element "enclosure" (Map.fromList [("type", mime), ("length", pack $ show length), ("url", render route)]) []]+ Just (EntryEnclosure{..}) -> [+ Element "enclosure"+ (Map.fromList [("type", enclosedMimeType)+ ,("length", pack $ show enclosedSize)+ ,("url", render enclosedUrl)]) []] -- | Generates a link tag in the head of a widget. rssLink :: MonadWidget m
yesod-newsfeed.cabal view
@@ -1,5 +1,5 @@ name: yesod-newsfeed-version: 1.5+version: 1.6 license: MIT license-file: LICENSE author: Michael Snoyman, Patrick Brisbin