[Haskell-cafe] HStringTemplate to generate html tables
Thomas Hartman
tphyahoo at gmail.com
Thu Sep 18 12:10:19 EDT 2008
I am trying to use HStringTemplate for generating html tables, for use
in http://happstutorial.com:5001
The best I could do is below. Seems awfully kludgy.
Can someone suggest a better way, which keeps me inside the
StringTemplate way of doing things? (Eg, no suggestions to use HTML.*
libraries, which are nice for some things but are a higher barrier to
entry than just jumping in and writing html.)
Some kind of map structure... for each... ?
Thanks for any help!
thomas.
{-# LANGUAGE NoMonomorphismRestriction #-}
import Text.StringTemplate
import Control.Applicative
import qualified Text.PrettyPrint as PP
main = putStrLn . PP.render . toPPDoc $ tableFromCells cells
cells = [["mee","mah","moh"],["fee","fah","foh"]]
-- This does generate an html table, but seems horribly obfuscated.
-- is there machinery for doing things like html table generation
-- in some better way than this hack where </end><start>
-- tags are used as a separator?
-- I would imagine something like
-- newSTMP "$cells:{<td>$it$</td>}:{<tr>$it</tr>}:{<table>$it</table>}"
-- which works a bit like a list comprehension
tableFromCells cells = setAttribute "cells" cells . optInsertTmpl
[("separator","</td><td>")]
$ newSTMP "$cells:\
\{<tr><td>$it$</td></tr>}:\
\{<table>$it$</table>}$"
More information about the Haskell-Cafe
mailing list