3 ms·
There are already lisp/scheme libraries out there that do that. The smalltalk framework's Seaside and Illiad both contain the same as well. as a basic example
by spooneybarger 16y ago
There are already lisp/scheme libraries out there that do that. The smalltalk framework's Seaside and Illiad both contain the same as well.
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 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__.Server) http://docs.racket-lang.org/more/#(part.__.Hello_.World__.Se...
- draegtun 16y agoAnd there are also libraries in other languages as well. For eg: * There's Builders in Groovy (http://groovy.codehaus.org/Builders http://groovy.codehaus.org/Builders) * Markaby in Ruby (http://en.wikipedia.org/wiki/Markaby http://en.wikipedia.org/wiki/Markaby) * and Markapl and Template::Declare in Perl (http://search.cpan.org/perldoc/Markapl http://search.cpan.org/perldoc/Markapl & http://search.cpan.org/perldoc/Template%3A%3ADeclare 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=705698 http://news.ycombinator.com/item?id=705698
- spooneybarger 16y agoMy only problem with markaby is that all the do ... end for blocks sort of defeats the purpose for me. not completely but partially. that said, i often use it.