在仆人中使用Licius + Hamlet + Julius [英] Using Licius + Hamlet + Julius in Servant
本文介绍了在仆人中使用Licius + Hamlet + Julius的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想使用Yesod的Shakespearean模板(Licius + Hamlet + Julius),但我对此有些困难。以下的代码在这里输入链接描述的作品:
I would like to use Shakespearean Templates (Licius + Hamlet + Julius) from the Yesod.But I have some difficulty with this. The following code from enter link description here works:
type TestAPI
= "tests" :> Get '[JSON] [Test]
:<|> "test" :> Get '[JSON] Test
:<|> "TestHTML.html" :> Get '[HTML] Page_TestHTML
serverTestAPI :: ServerT TestAPI AppM
serverTestAPI = tests
:<|> test
:<|> testHtml
data Page_TestHTML = Page_TestHTML
instance ToMarkup Page_TestHTML where
toMarkup Page_TestHTML = builderHtml
testHtml = return Page_TestHTML
builderHtml = [shamlet|
$doctype 5
<html>
<head>
<title>Greeting2
<body>
<h2> Hello world HTML Qqqqq |]
但是下一个代码不起作用:
But next code is not working:
data Page_TestHTML_2 = Page_TestHTML_2
instance ToMarkup Page_TestHTML_2 where
toMarkup Page_TestHTML_2 = builderHtml_2
testHtml_2 = return Page_TestHTML_2
builderHtml_2 = do
$(luciusFile "templates/test/TestHTML2.lucius")
$(shamletFile "templates/test/TestHTML2.hamlet")
我可以如何为仆人一起构建Licius + Hamlet + Julius(没有整个Yesod)?
How I can constructing together Licius + Hamlet + Julius for Servant (without whole Yesod)?
推荐答案
我能解决这个问题。
以下代码有效!
I was able to solve the question. The following code works!
data Page_LoginHTML = Page_LoginHTML
instance H.ToMarkup Page_LoginHTML where
toMarkup Page_LoginHTML = builderHtml
loginHtml = return Page_LoginHTML
cssStyle :: Html
cssStyle = toHtml $ renderCssUrl undefined
[cassius|
.q-test-2
color: green
|]
htmlBody :: Html
htmlBody =
[shamlet|
<h1> Hamlet Login Render
|]
builderHtml = H.docTypeHtml $ do
H.head $ do
H.title "Login"
H.style cssStyle
H.body htmlBody
也许这会对某人有用。
这篇关于在仆人中使用Licius + Hamlet + Julius的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文