module Site ( app ) where
import Data.ByteString (ByteString)
import Snap.Snaplet
import Snap.Snaplet.Fay
import Snap.Snaplet.Heist
import Snap.Util.FileServe
import "base" Prelude
import Application
routes :: [(ByteString, AppHandler ())]
routes = [
("/fay", with fay fayServe)
, ("/static", serveDirectory "static")
]
app :: SnapletInit App App
app = makeSnaplet "app" "" Nothing $ do
h <- nestSnaplet "" heist ( heistInit "templates" )
f <- nestSnaplet "fay" fay initFay
addRoutes routes
return $ App h f