[templates has a layout thomashartman1@gmail.com**20080616041509] hunk ./src/Main.hs 36 - - - - - - - - - - - - - hunk ./src/Main.hs 39 - - - - hunk ./src/Main.hs 41 - [ (exactdir "" [withTemplate "index" id] ) + [ (exactdir "" [withBaseTemplate "getstarted" id] ) hunk ./src/Templates.hs 35 + +withBaseTemplate contentTmpl f = ioMsgToSp iov + where iov :: IO (StringTemplate String) + iov = do + tmpls <- getTemplates + bt <- (return . getStringTemplateDef "base") tmpls + content <- (return . toString . getStringTemplateDef contentTmpl) tmpls + ( return . (setAttribute "contentarea" content) ) bt + + + hunk ./templates/base.st 1 - - - - - {% block title %}{{SERVICE_NAME|escape}}{% endblock %} - - {% block script %}{% endblock %} - - - - - - +$ header() $ hunk ./templates/base.st 3 - {% block content %} - {% endblock %} + $ contentarea $ hunk ./templates/base.st 5 +$ footer() $ hunk ./templates/base.st 7 - - - - - hunk ./templates/getstarted.st 5 -

Unfortunately, the HAppS documentation has been sorely lacking. At times it has seemed to me that even something as trivial as "hello world" took a PhD in HAppSology.

+

Unfortunately, the HAppS documentation has been sorely lacking. At times it has seemed to me that even something as trivial as "hello world" took a Ph.D. in HAppSology.

hunk ./templates/getstarted.st 7 -

I created this tutorial to prove that this isn't so, and to popularize the use of my favorite language, haskell, in web applications.

+

I created this tutorial to show that this isn't so, and to popularize the use of my favorite language, +haskell, in web applications.

hunk ./templates/getstarted.st 14 -

No Ph.D. Needed. TM

- - +

No Ph.D. required. ®

hunk ./templates/index.st 1 -$ header() $ -
- $ getstarted() $ -
-$ footer() $ rmfile ./templates/index.st