Safe Haskell | Trustworthy |
---|
- class Monad m => HasTemplates m hs where
- defaultLayout :: ControllerT hs m (Maybe Template)
- viewDirectory :: ControllerT hs m FilePath
- functionMap :: ControllerT hs m FunctionMap
- getTemplate :: FilePath -> ControllerT hs m Template
- render :: ToJSON a => FilePath -> a -> ControllerT hs m ()
- renderPlain :: ToJSON a => FilePath -> a -> ControllerT hs m ()
- renderLayout :: ToJSON a => FilePath -> FilePath -> a -> ControllerT hs m ()
- renderLayout' :: ToJSON a => Template -> FilePath -> a -> ControllerT hs m ()
- defaultGetTemplate :: (HasTemplates m hs, MonadIO m) => FilePath -> ControllerT hs m Template
- defaultRender :: (HasTemplates m hs, Monad m, ToJSON a) => FilePath -> a -> ControllerT hs m ()
- defaultFunctionMap :: FunctionMap
- fromList :: (Eq k, Hashable k) => [(k, v)] -> HashMap k v
- newtype Function = Function {}
- class ToFunction a where
- toFunction :: a -> Function
- type FunctionMap = HashMap Identifier Function
Documentation
class Monad m => HasTemplates m hs whereSource
defaultLayout :: ControllerT hs m (Maybe Template)Source
The layout to use by default. Layouts are just templates that embed views. They are rendered with the a global object containing the rendered view in the "yield" field, and the object the view was rendered with in the "page" field. By default, no template is used.
viewDirectory :: ControllerT hs m FilePathSource
The directory to look for views passed to render
. This defaults to
"views", so
render "index.html.tmpl" ...
will look for a view template in "views/index.html.tmpl".
functionMap :: ControllerT hs m FunctionMapSource
A map of pure functions that can be called from within a template. See
FunctionMap
and Function
for details.
getTemplate :: FilePath -> ControllerT hs m TemplateSource
Function to use to get a template. By default, it looks in the
viewDirectory
for the given file name and compiles the file into a
template. This can be overriden to, for example, cache compiled templates
in memory.
render :: ToJSON a => FilePath -> a -> ControllerT hs m ()Source
Renders a view template with the default layout and a global used to evaluate variables in the template.
renderPlain :: ToJSON a => FilePath -> a -> ControllerT hs m ()Source
Same as render
but without a template.
renderLayout :: ToJSON a => FilePath -> FilePath -> a -> ControllerT hs m ()Source
Render a view using the layout named by the first argument.
renderLayout' :: ToJSON a => Template -> FilePath -> a -> ControllerT hs m ()Source
Same as renderLayout
but uses an already compiled layout.
defaultGetTemplate :: (HasTemplates m hs, MonadIO m) => FilePath -> ControllerT hs m TemplateSource
defaultRender :: (HasTemplates m hs, Monad m, ToJSON a) => FilePath -> a -> ControllerT hs m ()Source
fromList :: (Eq k, Hashable k) => [(k, v)] -> HashMap k v
O(n*log n) Construct a map with the supplied mappings. If the list contains duplicate mappings, the later mappings take precedence.
newtype Function
A funcation that's callable from inside a template
class ToFunction a where
toFunction :: a -> Function
FromJSON a => ToFunction (a -> Value) | |
(FromJSON a1, FromJSON a2) => ToFunction (a1 -> a2 -> Value) | |
(FromJSON a1, FromJSON a2, FromJSON a3) => ToFunction (a1 -> a2 -> a3 -> Value) | |
(FromJSON a1, FromJSON a2, FromJSON a3, FromJSON a4) => ToFunction (a1 -> a2 -> a3 -> a4 -> Value) | |
(FromJSON a1, FromJSON a2, FromJSON a3, FromJSON a4, FromJSON a5) => ToFunction (a1 -> a2 -> a3 -> a4 -> a5 -> Value) | |
(FromJSON a1, FromJSON a2, FromJSON a3, FromJSON a4, FromJSON a5, FromJSON a6) => ToFunction (a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> Value) | |
(FromJSON a1, FromJSON a2, FromJSON a3, FromJSON a4, FromJSON a5, FromJSON a6, FromJSON a7) => ToFunction (a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> Value) | |
(FromJSON a1, FromJSON a2, FromJSON a3, FromJSON a4, FromJSON a5, FromJSON a6, FromJSON a7, FromJSON a8) => ToFunction (a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> a8 -> Value) |
type FunctionMap = HashMap Identifier Function