1234567891011121314151617181920212223242526272829303132333435363738394041 |
- {-# 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|
- <p>
- Welcome to my test application.
- The application is pretty boring.
- You probably want to go to
- <a href=@{WikiR WikiHomeR}>the wiki#
- .
- |]
- main :: IO ()
- main = do
- app <- App <$> newWiki
- warp 3000 app
|