diff --git a/Yesod/Hamlet.hs b/Yesod/Hamlet.hs index 41efd060..6ddce335 100644 --- a/Yesod/Hamlet.hs +++ b/Yesod/Hamlet.hs @@ -24,7 +24,7 @@ import Web.Routes.Quasi (Routes) -- -- > PageContent url -> Hamlet url data PageContent url = PageContent - { pageTitle :: Html + { pageTitle :: Html () , pageHead :: Hamlet url , pageBody :: Hamlet url } diff --git a/Yesod/Handler.hs b/Yesod/Handler.hs index c7dd008e..165c6ede 100644 --- a/Yesod/Handler.hs +++ b/Yesod/Handler.hs @@ -306,14 +306,14 @@ msgKey = "_MSG" -- | Sets a message in the user's session. -- -- See 'getMessage'. -setMessage :: Html -> GHandler sub master () +setMessage :: Html () -> GHandler sub master () setMessage = setSession msgKey . L.toString . renderHtml -- | Gets the message in the user's session, if available, and then clears the -- variable. -- -- See 'setMessage'. -getMessage :: GHandler sub master (Maybe Html) +getMessage :: GHandler sub master (Maybe (Html ())) getMessage = do clearSession msgKey fmap (fmap preEscapedString) $ lookupSession msgKey diff --git a/Yesod/Helpers/AtomFeed.hs b/Yesod/Helpers/AtomFeed.hs index f108eaba..90bbde4d 100644 --- a/Yesod/Helpers/AtomFeed.hs +++ b/Yesod/Helpers/AtomFeed.hs @@ -44,10 +44,10 @@ data AtomFeedEntry url = AtomFeedEntry { atomEntryLink :: url , atomEntryUpdated :: UTCTime , atomEntryTitle :: String - , atomEntryContent :: Html + , atomEntryContent :: Html () } -xmlns :: AtomFeed url -> Html +xmlns :: AtomFeed url -> Html () xmlns _ = preEscapedString "http://www.w3.org/2005/Atom" template :: AtomFeed url -> Hamlet url diff --git a/Yesod/Helpers/Sitemap.hs b/Yesod/Helpers/Sitemap.hs index 7ac9256b..dbe21d6d 100644 --- a/Yesod/Helpers/Sitemap.hs +++ b/Yesod/Helpers/Sitemap.hs @@ -50,7 +50,7 @@ data SitemapUrl url = SitemapUrl , priority :: Double } -sitemapNS :: Html +sitemapNS :: Html () sitemapNS = string "http://www.sitemaps.org/schemas/sitemap/0.9" template :: [SitemapUrl url] -> Hamlet url diff --git a/Yesod/Json.hs b/Yesod/Json.hs index 310f3a93..e54631b7 100644 --- a/Yesod/Json.hs +++ b/Yesod/Json.hs @@ -41,7 +41,7 @@ import Yesod.Content -- This is an opaque type to avoid any possible insertion of non-JSON content. -- Due to the limited nature of the JSON format, you can create any valid JSON -- document you wish using only 'jsonScalar', 'jsonList' and 'jsonMap'. -newtype Json = Json { unJson :: Html } +newtype Json = Json { unJson :: Html () } deriving Monoid -- | Extract the final result from the given 'Json' value. @@ -61,10 +61,10 @@ jsonToRepJson = fmap RepJson . jsonToContent -- * Performs JSON encoding. -- -- * Wraps the resulting string in quotes. -jsonScalar :: Html -> Json +jsonScalar :: Html () -> Json jsonScalar s = Json $ mconcat [ preEscapedString "\"" - , unsafeBytestring $ S.concat $ L.toChunks $ encodeJson $ renderHtml s + , unsafeByteString $ S.concat $ L.toChunks $ encodeJson $ renderHtml s , preEscapedString "\"" ] where