[cl-who-devel] Runtime HTML generation

Joubert Nel joubert.nel at infiniteimprobability.com
Sat Jan 23 19:45:33 UTC 2010


Hi Ron,

You can use the with-html-output-to-string function to generate HTML at run-time. 
Using it in a macro, you can then do data-driven HTML construction using mapcar, loop, etc.

Joubert


On Jan 23, 2010, at 12:51 PM, Ron Garret wrote:

> Is there a Right Way to use CL-WHO to generate HTML at run time?  For example, suppose I want to do something like this:
> 
> (defun make-table (l)
>  `(:table ,@(mapcar (lambda (row) `(:tr ,@(mapcar (lambda (cell) `(:td (str ,cell)))
>                                                   row)))
>                     l)))
> 
> (cl-who:with-html-output-to-string (*standard-output* nil :prologue t)
>  ... (make-table l) ...)
> 
> This doesn't work because CL-WHO normally does all its work at compile time, but L is not known until run time.  I can hack this using a macro that calls EVAL, or by hacking the CL-WHO code to add another specially handled symbol, but before diving into that rabbit hole I thought I'd ask if there was already a way of doing this that I've overlooked.
> 
> Thanks,
> rg
> 
> 
> _______________________________________________
> cl-who-devel site list
> cl-who-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/cl-who-devel







More information about the Cl-who-devel mailing list