whamlet embedding
This commit is contained in:
parent
2f4cbaa093
commit
dc737a397d
@ -44,7 +44,10 @@ getWhamletR = defaultLayout [$whamlet|
|
||||
<h1>Test
|
||||
<h2>@{WhamletR}
|
||||
<h3>_{Goodbye}
|
||||
^{embed}
|
||||
|]
|
||||
where
|
||||
embed = [$whamlet|<h4>Embed|]
|
||||
|
||||
widgetTest :: Test
|
||||
widgetTest = testGroup "Test.Widget"
|
||||
@ -69,4 +72,4 @@ case_whamlet = runner $ do
|
||||
{ pathInfo = ["whamlet"]
|
||||
, requestHeaders = [("Accept-Language", "es")]
|
||||
}
|
||||
assertBody "<!DOCTYPE html>\n<html><head><title></title></head><body><h1>Test</h1><h2>http://test/whamlet</h2><h3>Adios</h3></body></html>" res
|
||||
assertBody "<!DOCTYPE html>\n<html><head><title></title></head><body><h1>Test</h1><h2>http://test/whamlet</h2><h3>Adios</h3><h4>Embed</h4></body></html>" res
|
||||
|
||||
@ -15,6 +15,7 @@ module Yesod.Widget
|
||||
, getMessageRender
|
||||
, whamlet
|
||||
, whamletFile
|
||||
, ihamletToRepHtml
|
||||
-- * Creating
|
||||
-- ** Head of page
|
||||
, setTitle
|
||||
@ -56,6 +57,7 @@ import Text.Lucius (Lucius)
|
||||
import Text.Julius
|
||||
import Yesod.Handler
|
||||
(Route, GHandler, GGHandler, YesodSubRoute(..), toMasterHandlerMaybe, getYesod)
|
||||
import Yesod.Content (RepHtml (..), toContent)
|
||||
import Control.Applicative (Applicative)
|
||||
import Control.Monad.IO.Class (MonadIO)
|
||||
import Control.Monad.Trans.Class (MonadTrans (lift))
|
||||
@ -217,6 +219,8 @@ data PageContent url = PageContent
|
||||
, pageBody :: Hamlet url
|
||||
}
|
||||
|
||||
-- see if it's possible to get rid of sub here. Problem was yesod-auth, but maybe we can do something like:
|
||||
-- instance YesodAuth m => YesodMessage m ...
|
||||
class YesodMessage sub master where
|
||||
type Message sub master
|
||||
renderMessage :: sub
|
||||
@ -253,4 +257,13 @@ rules = do
|
||||
(Just $ helper [|lift getUrlRenderParams|])
|
||||
(Just $ helper [|lift getMessageRender|])
|
||||
f env
|
||||
return $ NP.HamletRules ah ur
|
||||
return $ NP.HamletRules ah ur $ \_ b -> return b
|
||||
|
||||
-- | Wraps the 'Content' generated by 'hamletToContent' in a 'RepHtml'.
|
||||
ihamletToRepHtml :: (Monad mo, YesodMessage sub master)
|
||||
=> NP.IHamlet (Message sub master) (Route master)
|
||||
-> GGHandler sub master mo RepHtml
|
||||
ihamletToRepHtml ih = do
|
||||
urender <- getUrlRenderParams
|
||||
mrender <- getMessageRender
|
||||
return $ RepHtml $ toContent $ ih mrender urender
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
name: yesod-core
|
||||
version: 0.8.1
|
||||
version: 0.8.2
|
||||
license: BSD3
|
||||
license-file: LICENSE
|
||||
author: Michael Snoyman <michael@snoyman.com>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user