;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Aug 2002
;;;;
-;;;; $Id: base.lisp,v 1.6 2003/01/26 21:35:27 kevin Exp $
+;;;; $Id: base.lisp,v 1.13 2003/03/23 18:38:16 kevin Exp $
;;;;
;;;; This file, part of LML, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"yes\"?>")
(defun xhtml-prologue-string ()
- "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">")
+ "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">")
(defvar *print-spaces* nil)
(defvar *indent* 0)
(format *html-output* "~A~%" s))
(defun lml-write-char (char)
- (write-char char *html-output))
+ (write-char char *html-output*))
(defun lml-print-date (date)
(lml-princ (date-string date)))
(defmacro with-attr-string (tag attr-string &body body)
(let ((attr (gensym)))
`(let ((,attr ,attr-string))
- (lml-format "<~(~A~)~A>" ',tag
+ (lml-format "<~(~A~) ~A>" ',tag
(if (and (stringp ,attr) (plusp (length ,attr)))
(format nil "~A" ,attr)
""))
`(let ((,attr ,attr-string))
(lml-format "<~(~A~)~A />" ',tag
(if (and (stringp ,attr) (plusp (length ,attr)))
- (format nil "~A" ,attr)
- "")))))
+ (format nil " ~A" ,attr)
+ "")))))
(defun one-keyarg-string (key value)
"Return attribute string for keys"
(lml-format "~A~%" (xml-prologue-string))
(lml-format "~A~%" (xhtml-prologue-string))))
-(defmacro link (dest &body body)
+(defmacro alink (dest &body body)
`(with a :href ,dest ,@body))
-(defmacro link-c (class dest &body body)
+(defmacro alink-c (class dest &body body)
`(with a :href ,dest :class (quote ,class) ,@body))
(defmacro img (dest &rest args)
- `(with-no-endtag :src ,dest ,@args))
+ `(with-no-endtag img :src ,dest ,@args))
(defmacro input (&rest args)
`(with-no-endtag input ,@args))
-(defmacro meta (name content)
- `(with meta :name ,name :content ,content))
+(defmacro link (&rest args)
+ `(with-no-endtag link ,@args))
-(defmacro meta-key (&key name content http-equiv)
- `(with meta :name ,name :content ,content :http-equiv ,http-equiv))
+(defmacro meta (&rest args)
+ `(with-no-endtag meta ,@args))
(defmacro br (&rest args)
`(with-no-endtag br ,@args))
(defparameter *macro-list*
'(a div span h1 h2 h3 h4 h5 h6 i b p li ul ol table tbody td th tr body head
html title pre tt u dl dt dd kbd code form textarea))
- (export '(link link-c br hr img input meta meta-key))
+ (export '(alink alink br hr img input meta link meta-key))
(export *macro-list*))
(loop for i in *macro-list*