packages feed

yesod-newsfeed 1.5 → 1.6

raw patch · 5 files changed

+31/−6 lines, 5 files

Files

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