| Copyright | Copyright (C) 2009-2019 John MacFarlane |
|---|---|
| License | BSD3 |
| Maintainer | John MacFarlane <jgm@berkeley.edu> |
| Stability | alpha |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Text.DocTemplates.Internal
Description
Synopsis
- renderTemplate :: (TemplateTarget a, ToContext a b) => Template -> b -> a
- class Monad m => TemplateMonad m where
- getPartial :: FilePath -> m Text
- newtype Context a = Context {}
- data Val a
- class ToContext a b where
- class FromContext a b where
- class Monoid a => TemplateTarget a where
- fromText :: Text -> a
- toText :: a -> Text
- removeFinalNewline :: a -> a
- isEmpty :: a -> Bool
- indent :: Int -> a -> a
- breakingSpace :: a
- data Template
- newtype Variable = Variable {
- unVariable :: [Text]
Documentation
renderTemplate :: (TemplateTarget a, ToContext a b) => Template -> b -> a Source #
Render a compiled template in a "context" which provides values for the template's variables.
class Monad m => TemplateMonad m where Source #
A TemplateMonad defines a function to retrieve a partial
(from the file system, from a database, or using a default
value).
Methods
getPartial :: FilePath -> m Text Source #
Instances
| TemplateMonad IO Source # | |
Defined in Text.DocTemplates.Internal | |
| TemplateMonad Identity Source # | |
Defined in Text.DocTemplates.Internal | |
A Context defines values for template's variables.
Instances
| Functor Context Source # | |
| Foldable Context Source # | |
Defined in Text.DocTemplates.Internal Methods fold :: Monoid m => Context m -> m # foldMap :: Monoid m => (a -> m) -> Context a -> m # foldr :: (a -> b -> b) -> b -> Context a -> b # foldr' :: (a -> b -> b) -> b -> Context a -> b # foldl :: (b -> a -> b) -> b -> Context a -> b # foldl' :: (b -> a -> b) -> b -> Context a -> b # foldr1 :: (a -> a -> a) -> Context a -> a # foldl1 :: (a -> a -> a) -> Context a -> a # elem :: Eq a => a -> Context a -> Bool # maximum :: Ord a => Context a -> a # minimum :: Ord a => Context a -> a # | |
| Traversable Context Source # | |
| TemplateTarget a => ToContext a (Context a) Source # | |
| Show a => Show (Context a) Source # | |
| Semigroup (Context a) Source # | |
| Monoid (Context a) Source # | |
| TemplateTarget a => ToJSON (Context a) Source # | |
Defined in Text.DocTemplates.Internal | |
| TemplateTarget a => FromJSON (Context a) Source # | |
A variable value.
Instances
| Functor Val Source # | |
| Foldable Val Source # | |
Defined in Text.DocTemplates.Internal Methods fold :: Monoid m => Val m -> m # foldMap :: Monoid m => (a -> m) -> Val a -> m # foldr :: (a -> b -> b) -> b -> Val a -> b # foldr' :: (a -> b -> b) -> b -> Val a -> b # foldl :: (b -> a -> b) -> b -> Val a -> b # foldl' :: (b -> a -> b) -> b -> Val a -> b # foldr1 :: (a -> a -> a) -> Val a -> a # foldl1 :: (a -> a -> a) -> Val a -> a # elem :: Eq a => a -> Val a -> Bool # maximum :: Ord a => Val a -> a # | |
| Traversable Val Source # | |
| TemplateTarget a => FromContext a (Val a) Source # | |
| TemplateTarget a => ToContext a (Val a) Source # | |
| Show a => Show (Val a) Source # | |
| TemplateTarget a => ToJSON (Val a) Source # | |
Defined in Text.DocTemplates.Internal | |
| TemplateTarget a => FromJSON (Val a) Source # | |
class ToContext a b where Source #
Minimal complete definition
Instances
| TemplateTarget a => ToContext a Bool Source # | |
| TemplateTarget a => ToContext a Value Source # | |
| TemplateTarget a => ToContext a a Source # | |
| ToContext String String Source # | |
| ToContext a b => ToContext a [b] Source # | |
| TemplateTarget a => ToContext a (Val a) Source # | |
| TemplateTarget a => ToContext a (Context a) Source # | |
| (TemplateTarget a, HasChars a) => ToContext (Doc a) a Source # | |
class FromContext a b where Source #
The FromContext class provides functions for extracting
values from Val and Context.
Minimal complete definition
Instances
| TemplateTarget a => FromContext a a Source # | |
| FromContext String String Source # | |
| FromContext a b => FromContext a [b] Source # | |
| TemplateTarget a => FromContext a (Val a) Source # | |
class Monoid a => TemplateTarget a where Source #
A type to which templates can be rendered.
Methods
fromText :: Text -> a Source #
removeFinalNewline :: a -> a Source #
indent :: Int -> a -> a Source #
breakingSpace :: a Source #
Instances
| TemplateTarget Text Source # | |
| TemplateTarget Text Source # | |
| TemplateTarget String Source # | |
| (HasChars a, IsString a, Eq a) => TemplateTarget (Doc a) Source # | |
A template.
Constructors
| Interpolate Variable | |
| Conditional Variable Template Template | |
| Iterate Variable Template Template | |
| Nested Int Template | |
| Partial Template | |
| Literal Text | |
| Concat Template Template | |
| BreakingSpace | |
| Empty |
Instances
A variable which may have several parts (foo.bar.baz).
Constructors
| Variable | |
Fields
| |
Instances
| Eq Variable Source # | |
| Data Variable Source # | |
Defined in Text.DocTemplates.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Variable -> c Variable # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Variable # toConstr :: Variable -> Constr # dataTypeOf :: Variable -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Variable) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Variable) # gmapT :: (forall b. Data b => b -> b) -> Variable -> Variable # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Variable -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Variable -> r # gmapQ :: (forall d. Data d => d -> u) -> Variable -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Variable -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Variable -> m Variable # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Variable -> m Variable # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Variable -> m Variable # | |
| Ord Variable Source # | |
Defined in Text.DocTemplates.Internal | |
| Read Variable Source # | |
| Show Variable Source # | |
| Generic Variable Source # | |
| Semigroup Variable Source # | |
| Monoid Variable Source # | |
| type Rep Variable Source # | |
Defined in Text.DocTemplates.Internal | |