packages feed

happs-tutorial-0.1: src/ControllerUsingTemplates.hs

{-# OPTIONS -XPatternSignatures #-}
module ControllerUsingTemplates where 

import HAppS.Server
import Misc
import Data.Monoid

import View
import Text.StringTemplate


usingTemplatesHandlers :: [ServerPartT IO Response]
usingTemplatesHandlers = debugFilter [
  dir "usingtemplates"
    [ exactdir "/testtgio"
        [ ioMsgToSp ( withTutTemplate $ renderDef [("favoriteAnimal", "giraffe")] "myhomepage" ) ]
    ]
  ]





-- generate some html, from templates in templates directory
{-
generatePages = do


  -- should probably change this to directoryGroup or directoryGroupLazy in production code
  -- but not sure which one is better... figure it out later.
  (tg :: STGroup String) <- unsafeVolatileDirectoryGroup "templates" 1 -- 1 second reload time

  (writeFile "myHomepage.html" . genMyHomepage) tg
  (writeFile "moreFavoriteAnimals.html" . genMoreFavoriteAnimals) tg
  where 
    genMyHomepage  = toString . setAttribute "favoriteAnimal" "giraffe" . (getStringTemplateDef "myhomepage")
    genMoreFavoriteAnimals = toString 
                               . optInsertTmpl [("separator","<p>\n")]
                               . setAttribute "favoriteAnimals" favoriteAnimals 
                               . getStringTemplateDef "moreFavoriteAnimals"
    favoriteAnimals = ["guppies","mayflies","dinosaurs"]
-}