StrappedTemplates: General purpose templates in haskell

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Easy templating in haskell.

 import Control.Monad.IO.Class
 import qualified Blaze.ByteString.Builder as B
 import qualified Data.Text.Lazy as T
 import Data.Time

 import Text.Strapped

 makeBucket :: Integer -> InputBucket IO
 makeBucket i = bucketFromList
       [ ("is", List $ map (LitVal . LitInteger) [1..i])
       , ("ioTime", Func (\_ -> (liftIO $ getCurrentTime) >>= (\c -> return $ LitText $ T.pack $ show c)))

 main :: IO ()
 main = do
   tmpls <- templateStoreFromDirectory "benchmarks/strapped_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
 ${ ioTime }
 {$ for i in is $}
     ${ i }
 {$ endfor $}


Change log None available
Dependencies base (==4.7.*), blaze-builder (==0.3.*), containers (==0.5.*), filemanip (==0.3.6.*), filepath (==1.3.*), mtl (>=2.1 && <2.3), parsec (==3.1.*), text (>=1.0 && <1.2), transformers (==0.4.*) [details]
License BSD-3-Clause
Author Kyle Hanson
Category Text
Home page
Uploaded by hansonkd at 2014-08-03T06:03:37Z




Maintainer's Corner

For package maintainers and hackage trustees