Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
ProjectForge.Render
Description
Synopsis
- renderFileTemplate :: (MonadLogger m, MonadIO m) => RenderTemplateOpts -> FileTemplate -> Value -> m (FilePath, Text)
- renderProjectTemplate :: (MonadIO m, MonadLogger m) => RenderTemplateOpts -> ProjectTemplate -> Value -> m [(FilePath, Text)]
- writeTemplateResult :: (MonadLogger m, MonadIO m) => [(FilePath, Text)] -> m ()
- newtype RenderTemplateOpts = MkRenderTemplateOpts {}
- data RenderWarnHandling
- data RenderException
- defaultRenderTemplateOpts :: RenderTemplateOpts
Rendering templates
Arguments
:: (MonadLogger m, MonadIO m) | |
=> RenderTemplateOpts | |
-> FileTemplate | |
-> Value | values to interpolate into the template |
-> m (FilePath, Text) |
Renders a
using FileTemplate
.
Values to be input into the template are presented
via a renderMustache
representation.Value
>>>
import Data.Aeson (toJSON, object, (.=))
>>>
import ProjectForge.Compile
>>>
import Blammo.Logging.Simple
>>>
let settings = toJSON (object [ "prjId" .= "P0000"])
>>>
let exampleTemplate = compileFileTemplate ("{{prjId}}.md", "This is {{prjId}}")
>>>
runSimpleLoggingT . (\x -> renderFileTemplate defaultRenderTemplateOpts x settings) =<< exampleTemplate
([],("P0000.md","This is P0000"))
renderProjectTemplate Source #
Arguments
:: (MonadIO m, MonadLogger m) | |
=> RenderTemplateOpts | |
-> ProjectTemplate | |
-> Value | values to interpolate into each |
-> m [(FilePath, Text)] |
Renders a
,
returning a list of filepaths and file contents
that may be written to files.ProjectTemplate
writeTemplateResult :: (MonadLogger m, MonadIO m) => [(FilePath, Text)] -> m () Source #
Utility for writing the results for
to files.renderProjectTemplate
Rendering Options and Exception Handling
newtype RenderTemplateOpts Source #
Options to control how
is run.renderFileTemplate
Constructors
MkRenderTemplateOpts | |
Fields |
Instances
Show RenderTemplateOpts Source # | |
Defined in ProjectForge.Render Methods showsPrec :: Int -> RenderTemplateOpts -> ShowS # show :: RenderTemplateOpts -> String # showList :: [RenderTemplateOpts] -> ShowS # | |
Eq RenderTemplateOpts Source # | |
Defined in ProjectForge.Render Methods (==) :: RenderTemplateOpts -> RenderTemplateOpts -> Bool # (/=) :: RenderTemplateOpts -> RenderTemplateOpts -> Bool # |
data RenderWarnHandling Source #
Flag for how to handle any 'Text.Stache.Type.MustacheWarning'
s
that may result from
.renderFileTemplate
Constructors
WarningAsError | lift mustache warnings to errors |
Ignore | Ignore warnings |
Instances
Show RenderWarnHandling Source # | |
Defined in ProjectForge.Render Methods showsPrec :: Int -> RenderWarnHandling -> ShowS # show :: RenderWarnHandling -> String # showList :: [RenderWarnHandling] -> ShowS # | |
Eq RenderWarnHandling Source # | |
Defined in ProjectForge.Render Methods (==) :: RenderWarnHandling -> RenderWarnHandling -> Bool # (/=) :: RenderWarnHandling -> RenderWarnHandling -> Bool # |
data RenderException Source #
New type wrapper for a list of 'Text.Stache.Type.MustacheWarning'
s
so that it can be made an instance of
.Exception
Instances
Exception RenderException Source # | |
Defined in ProjectForge.Render Methods toException :: RenderException -> SomeException # | |
Show RenderException Source # | |
Defined in ProjectForge.Render Methods showsPrec :: Int -> RenderException -> ShowS # show :: RenderException -> String # showList :: [RenderException] -> ShowS # | |
Eq RenderException Source # | |
Defined in ProjectForge.Render Methods (==) :: RenderException -> RenderException -> Bool # (/=) :: RenderException -> RenderException -> Bool # |