hamlet 1.1.9 → 1.1.9.1
raw patch · 3 files changed
+19/−17 lines, 3 files
Files
- Text/Hamlet.hs +16/−16
- hamlet.cabal +1/−1
- test/HamletTest.hs +2/−0
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