How i can use shakespeare (from yesod) for servant webservices APIs?
I try:
type TestAPI
= "tests" :> Get '[JSON] [Test]
:<|> "Test.html" :> Get '[HTML] Html
serverTestAPI :: ServerT TestAPI AppM
serverTestAPI = tests
:<|> test
:<|> testHtml
tests :: AppM [Test]
tests = do return [ Test 1 "Test 1"
, Test 2 "Test 2"
]
testHtml = [hamlet|
$doctype 5
.........
|]
But I get error!
Thank you all for your help!
Implemented as follows:
Here is a small complete example that works for me:
As @Carsten points out, in this case what you want is
shamlet
. The key thing is implementing proper instances of theToMarkup
typeclass. I recommend you to read this excellent introduction on Shakespeare templates. A working example: