daino-0.1.5.2: src/Lib/Templating.hs
----------------------------------------------------------------------
--
-- Module : applying a template (using pandoc)
--
----------------------------------------------------------------------
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
-- {-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeFamilies #-}
module Lib.Templating where -- (openMain, htf_thisModuelsTests)
import Uniform.Http -- ( HTMLout(HTMLout) )
import Uniform.Json ( Value, ErrIO )
import Uniform.PandocHTMLwriter ( applyTemplate4 )
import UniformBase
putValinMaster :: NoticeLevel -> [Value] -> Path Abs File -> ErrIO HTMLout
{- ^ get the master html template and put the val into it
takes the master filename from val
not clear what intended
for now: use the master TODO
-}
putValinMaster debug vals masterfn = do
when (inform debug) $ putIOwords ["putValinMaster", "masterfn", showT masterfn]
template2 :: Text <- readFile2 (toFilePath masterfn)
-- templatapplyTemplate3 debug masterfn vals -- inTemplate.html
html2 <- applyTemplate4 (inform debug) template2 vals
return . HTMLout $ html2
{- list of variables potentially used by Master5.dtpl:
css - name of stylesheet
date
keywords (list)
page-title
page-title-isPostfix
include-before
siteHeader
sitename
byline
banner
bannerCaption
menu
link
text
title
subtitle
author
menu2
link2
title2
abstract2
author2
date2
-- publish2
table-of-contents
beforeContent
abstract
contentHtml
afterContent
dainoversion
today
Filenames
filename3 -- the current filename producing the page
include_after
dainoversion
-}