packages feed

hamlet 1.1.9 → 1.1.9.1

raw patch · 3 files changed

+19/−17 lines, 3 files

Files

Text/Hamlet.hs view
@@ -426,13 +426,14 @@ data VarType = VTPlain | VTUrl | VTUrlParam | VTMixin | VTMsg | VTAttrs  type QueryParameters = [(Text, Text)]-type RenderUrl url = (url -> QueryParameters -> Text)+type RenderUrl url   = (url -> QueryParameters -> Text) type Shakespeare url = RenderUrl url -> Html-data VarExp msg url = EPlain Html-                    | EUrl url-                    | EUrlParam (url, QueryParameters)-                    | EMixin (HtmlUrlI18n msg url)-                    | EMsg msg+data VarExp msg url  = EPlain Html+                     | EUrl url+                     | EUrlParam (url, QueryParameters)+                     | EMixin (HtmlUrl url)+                     | EMixinI18n (HtmlUrlI18n msg url)+                     | EMsg msg  getVars :: Content -> [(Deref, VarType)] getVars ContentRaw{}     = []@@ -476,7 +477,7 @@             c VTPlain = [|EPlain . toHtml|]             c VTUrl = [|EUrl|]             c VTUrlParam = [|EUrlParam|]-            c VTMixin = [|\x -> EMixin $ \r -> x r|]+            c VTMixin = [|\r -> EMixin $ \c -> r c|]             c VTMsg = [|EMsg|]  -- move to Shakespeare.Base?@@ -531,8 +532,7 @@         s <- readFileUtf8 fp         insertReloadMap fp (mtime, contentFromString settings s) -    go' = mconcat . map (runtimeContentToHtml cd i18nEx render handleMsgEx)-    i18nEx = error "ihamlet needed for i18n"+    go' = mconcat . map (runtimeContentToHtml cd render (error "I18n embed IMPOSSIBLE") handleMsgEx)     handleMsgEx _ = error "i18n _{} encountered, but did not use ihamlet"  type RuntimeVars msg url = [(Deref, VarExp msg url)]@@ -553,13 +553,13 @@         s <- readFileUtf8 fp         insertReloadMap fp (mtime, contentFromString settings s) -    go' = mconcat . map (runtimeContentToHtml cd i18nRender render handleMsg)+    go' = mconcat . map (runtimeContentToHtml cd render i18nRender handleMsg)     handleMsg d = case lookup d cd of             Just (EMsg s) -> i18nRender s             _ -> error $ show d ++ ": expected EMsg for ContentMsg" -runtimeContentToHtml :: RuntimeVars msg url -> Translate msg -> Render url -> (Deref -> Html) -> Content -> Html-runtimeContentToHtml cd i18nRender render handleMsg = go+runtimeContentToHtml :: RuntimeVars msg url -> Render url -> Translate msg -> (Deref -> Html) -> Content -> Html+runtimeContentToHtml cd render i18nRender handleMsg = go   where     go :: Content -> Html     go (ContentMsg d) = handleMsg d@@ -581,7 +581,7 @@             Just (EUrlParam (u, p)) ->                 toHtml $ render u p             _ -> error $ show d ++ ": expected EUrlParam"-    go (ContentEmbed d) =-        case lookup d cd of-            Just (EMixin m) -> m i18nRender render-            _ -> error $ show d ++ ": expected EMixin"+    go (ContentEmbed d) = case lookup d cd of+        Just (EMixin m) -> m render+        Just (EMixinI18n m) -> m i18nRender render+        _ -> error $ show d ++ ": expected EMixin"
hamlet.cabal view
@@ -1,5 +1,5 @@ name:            hamlet-version:         1.1.9+version:         1.1.9.1 license:         MIT license-file:    LICENSE author:          Michael Snoyman <michael@snoyman.com>
test/HamletTest.hs view
@@ -617,6 +617,8 @@ caseEmbed :: Assertion
 caseEmbed = do
     helper "embed" [hamlet|^{embed theArg}|]
+    helper "embed" $(hamletFileReload "test/hamlets/embed.hamlet")
+    ihelper "embed" $(ihamletFileReload "test/hamlets/embed.hamlet")
 
 caseEmbedChain :: Assertion
 caseEmbedChain = do