r5177: *** empty log message ***
authorKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 23 Jun 2003 20:39:03 +0000 (20:39 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 23 Jun 2003 20:39:03 +0000 (20:39 +0000)
base.lisp
data.lisp
package.lisp
stdsite.lisp

index 3105af84ffe03582be33f657d22472d0eebbfdba..233d6ee685bb71ee6306f7fd5c01b074f13f6362 100644 (file)
--- a/base.lisp
+++ b/base.lisp
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Aug 2002
 ;;;;
-;;;; $Id: base.lisp,v 1.2 2003/06/20 04:46:54 kevin Exp $
+;;;; $Id: base.lisp,v 1.3 2003/06/23 20:37:43 kevin Exp $
 ;;;;
 ;;;; This file, part of LML, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
 (defun lml-print-date (date)
   (lml-write-string (date-string date)))
 
-(defmacro xhtml-prologue ()
-  `(progn
-     (lml-write-string (xml-prologue-string))
-     (lml-write-char #\newline)
-     (lml-write-string (xhtml-prologue-string))
+(defun html-prologue (&optional (format :xhtml11))
+  (case format
+    ((:xhtml :xhtml11 :xhtml10-strict :xhtml10-transitional :xhtml10-frameset)
+     (lml-write-string +xml-prologue-string+)
      (lml-write-char #\newline)))
-
-(defmacro print-page (title &body body)
-  `(html
-    (:head
-     (:title (:princ ,title)))
-    (:body ,@body)))
-
-(defmacro page (out-file &body body)
+  (ecase format
+    ((:xhtml11 :xhtml)
+     (lml-write-string +xhtml11-dtd-string+))
+    (:xhtml10-strict
+     (lml-write-string +xhtml10-strict-dtd-string+))
+    (:xhtml10-transitional
+     (lml-write-string +xhtml10-transitional-dtd-string+))
+    (:xhtml10-frameset
+     (lml-write-string +xhtml10-frameset-dtd-string+))
+    (:html
+     (lml-write-string +html4-dtd-string+)))
+  (lml-write-char #\newline))
+
+
+(defmacro page ((out-file &key (format :xhtml11))
+               &body body)
   `(with-open-file (*html-stream*
                    (lml-file-name ,out-file :output)
                    :direction :output
                    :if-exists :supersede)
-     (xhtml-prologue)
+     (html-prologue ,format)
      (html
       ((:html :xmlns "http://www.w3.org/1999/xhtml")
        ,@body))))
@@ -77,5 +84,3 @@
 (defmacro alink-c (class url desc)
   `(html
     ((:a :class ,class :href ,url) ,desc)))
-
-(export '(alink alink-c))
index 58aee929cf2f455645e9a4f7e771b84acf5660ab..9a286ce06bf389048512fc008d1b99ec6bab64f7 100644 (file)
--- a/data.lisp
+++ b/data.lisp
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Aug 2002
 ;;;;
-;;;; $Id: data.lisp,v 1.1 2003/06/20 04:12:29 kevin Exp $
+;;;; $Id: data.lisp,v 1.2 2003/06/23 20:37:43 kevin Exp $
 ;;;;
 ;;;; This file, part of LML2, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
 (defvar *print-spaces* nil)
 (defvar *indent* 0)
 
-(defun html4-prologue-string ()
-  "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">")
-
-(defun xml-prologue-string ()
+(defvar +xml-prologue-string+
   "<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"yes\"?>")
 
-(defun xhtml-prologue-string ()
+(defvar +html4-dtd-string+
+  "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">")
+
+(defvar +xhtml11-dtd-string+
   "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">")
+
+(defvar +xhtml10-strict-dtd-string+
+  "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml10/DTD/xhtml10-strict.dtd\">")
+
+(defvar +xhtml10-transitional-dtd-string+
+  "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml10/DTD/xhtml10-transitional.dtd\">")
+
+(defvar +xhtml10-frameset-dtd-string+
+  "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"http://www.w3.org/TR/xhtml10/DTD/xhtml10-frameset.dtd\">")
index db700bc0870a7f7e2d62cd318a975996fea3b81d..f9838db6038f7bd0f7b67c2bfd0a20e894a8f4a3 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  June 2003
 ;;;;
-;;;; $Id: package.lisp,v 1.1 2003/06/20 04:12:29 kevin Exp $
+;;;; $Id: package.lisp,v 1.2 2003/06/23 20:37:43 kevin Exp $
 ;;;;
 ;;;; This file, part of LML2, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
@@ -26,8 +26,6 @@
    ;; base.lisp
    #:*print-spaces*
    #:reset-indent
-   #:with
-   #:print-page
    #:page
    #:lml-format
    #:lml-print
@@ -36,7 +34,9 @@
    #:lml-write-string
    #:lml-print-date
    #:*html-output*
-
+   #:alink
+   #:alink-c
+   
    ;; htmlgen.lisp
    #:html #:html-print #:html-print-subst #:html-print-list #:html-print-list-subst
    #:html-stream #:*html-stream*
index 0870163a98806610741d9e6200d079b0ba9c13be..c7b96d7a4ec26ed9073a12c16bf321376f7b0cd2 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Aug 2002
 ;;;;
-;;;; $Id: stdsite.lisp,v 1.3 2003/06/23 20:08:06 kevin Exp $
+;;;; $Id: stdsite.lisp,v 1.4 2003/06/23 20:37:43 kevin Exp $
 ;;;;
 ;;;; This file, part of LML2, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
         (std-footer ,file))))))))
   
 
-(defmacro print-std-page (file title &body body)
+(defmacro print-std-page (file title format &body body)
   `(progn
-    (xhtml-prologue)
-    (html
-     ((:html :xmlns "http://www.w3.org/1999/xhtml")
-      (std-head ,title)
-      (std-body ,file ,@body)))))
+     (html-prologue ,format)
+     (html
+      ((:html :xmlns "http://www.w3.org/1999/xhtml")
+       (std-head ,title)
+       (std-body ,file ,@body)))))
 
-(defmacro std-page (out-file title &body body)
+(defmacro std-page ((out-file title &key (format :xhtml11))
+                   &body body)
   `(let ((*indent* 0))
      (with-open-file (*html-stream* (lml-file-name ,out-file :output)
                      :direction :output
                      :if-exists :supersede)
-       (print-std-page (lml-file-name ,out-file :source) ,title ,@body))))
+       (print-std-page (lml-file-name ,out-file :source) ,title ,format ,@body))))
 
 (defmacro titled-pre-section (title &body body)
   `(progn