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] ;
 |