StrappedTemplates: General purpose templates in haskell
Easy templating in haskell.
import Control.Monad.IO.Class
import qualified Blaze.ByteString.Builder as B
import qualified Data.Text as T
import Data.Time
import Text.Strapped
makeBucket :: Integer -> InputBucket IO
makeBucket i = bucketFromList
[ ("is", lit $ map (LitInteger) [1..i])
, ("is_truthy", lit i)
, ("ioTime", Func (\_ -> (liftIO $ getCurrentTime) >>= (\c -> return $ LitText $ T.pack $ show c)))
]
main :: IO ()
main = do
tmpls <- templateStoreFromDirectory defaultConfig "examples/templates" ".strp"
case tmpls of
Left err -> print err
Right store -> do
rendered <- render (putStore store defaultConfig) (makeBucket 2) "base_simple.strp"
either (print) (print . B.toByteString) rendered {$ inherits base.strp $}
{$ isblock body $}
An IO function to find the current time: ${ ioTime }
{$ if is_truthy $}
{$ inherits base.strp $}
{$ isblock body $}
Any block level can inherit from another template and override blocks.
{$ endisblock $}
{$ else $}
Don't show me.
{$ endif $}
Taken from an includes:
{$ include includes/includes.strp $}
Lets count...
{$ for i in is $}
${ i }
{$ endfor $}
{$ endisblock $}
Modules
[Index]
Downloads
- StrappedTemplates-0.2.0.2.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
| Versions [RSS] | 0.1.0.0, 0.1.1.0, 0.2.0.0, 0.2.0.1, 0.2.0.2 |
|---|---|
| Dependencies | base (>=4.7 && <4.9), blaze-builder (>=0.3 && <0.5), bytestring (>=0.10 && <0.11), containers (>=0.5 && <0.6), filemanip (>=0.3.6 && <0.3.7), filepath (>=1.3 && <1.5), mtl (>=2.2.1 && <2.3), parsec (>=3.1 && <3.2), text (>=1.0 && <1.3), transformers (>=0.4 && <0.5) [details] |
| License | BSD-3-Clause |
| Author | Kyle Hanson |
| Maintainer | me@khanson.io |
| Category | Text |
| Home page | https://github.com/hansonkd/StrappedTemplates |
| Source repo | head: git clone git@github.com:hansonkd/StrappedTemplates.git |
| Uploaded | by hansonkd at 2015-07-12T17:47:32Z |
| Distributions | |
| Reverse Dependencies | 2 direct, 0 indirect [details] |
| Downloads | 4001 total (14 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs available [build log] Last success reported on 2015-07-12 [all 1 reports] |