{-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-} module Main where import Control.Applicative ((<$>)) import Wiki import Yesod -- A very simple App, doesn't do anything except provide the Wiki. data App = App { appWiki :: Wiki } mkYesod "App" [parseRoutes| / HomeR GET /wiki WikiR Wiki appWiki |] instance Yesod App instance YesodWiki App -- Just use the defaults instance RenderMessage App FormMessage where renderMessage _ _ = defaultFormMessage getHomeR :: Handler Html getHomeR = defaultLayout [whamlet|

Welcome to my test application. The application is pretty boring. You probably want to go to the wiki# . |] main :: IO () main = do app <- App <$> newWiki warp 3000 app