32 lines
898 B
Factor
32 lines
898 B
Factor
! Copyright (C) 2004, 2009 Chris Double, Daniel Ehrenberg,
|
|
! Slava Pestov.
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: accessors kernel xml.data xml.writer xml.syntax
|
|
urls.encoding ;
|
|
IN: html
|
|
|
|
TUPLE: empty-prolog < prolog ;
|
|
M: empty-prolog write-xml drop ;
|
|
: <empty-prolog> ( -- prolog ) \ empty-prolog new ;
|
|
|
|
: simple-page ( title head body -- xml )
|
|
<XML
|
|
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
<head>
|
|
<title><-></title>
|
|
<->
|
|
</head>
|
|
<body><-></body>
|
|
</html>
|
|
XML> <empty-prolog> >>prolog ;
|
|
|
|
: render-error ( message -- xml )
|
|
[XML <span class="error"><-></span> XML] ;
|
|
|
|
: simple-link ( xml url -- xml' )
|
|
url-encode swap [XML <a href=<->><-></a> XML] ;
|
|
|
|
: simple-image ( url -- xml )
|
|
url-encode [XML <img src=<-> /> XML] ;
|