I know very little about Lisp, so this type of thing might already exist.
I know very little about Lisp, so this type of thing might already exist.
as a basic example from seaside:
renderContentOn: html
html heading level: 1; with: 'Hello World!'.
creates<h1>Hello World</h1>
More on how Seaside generates html can be found at:
http://seaside.st/documentation/generating-html
Here is an example from racket ( aka plt scheme ):
(define (build-request-page label next-url hidden) `(html (head (title "Enter a Number to Add")) (body ([bgcolor "white"]) (form ([action ,next-url] [method "get"]) ,label (input ([type "text"] [name "number"] [value ""])) (input ([type "hidden"] [name "hidden"] [value ,hidden])) (input ([type "submit"] [name "enter"] [value "Enter"]))))))
More ( and the proper formatting of the above ) can be seen at:
http://docs.racket-lang.org/more/#(part.__.Hello_.World__.Se...
* There's Builders in Groovy (http://groovy.codehaus.org/Builders)
* Markaby in Ruby (http://en.wikipedia.org/wiki/Markaby)
* and Markapl and Template::Declare in Perl (http://search.cpan.org/perldoc/Markapl & http://search.cpan.org/perldoc/Template%3A%3ADeclare).
Here is the snippet in blogpost using Markapl:
div('.red') {
p { "hello world" }
}
Also see related HN: http://news.ycombinator.com/item?id=705698A bunch can be found here: http://www.cliki.net/Lisp%20Markup%20Languages
Examples: http://www.cliki.net/HTML-TEMPLATE http://www.nicklevine.org/play/xhtml.lisp http://www.cliki.net/yaclml http://www.cliki.net/CL-WHO