X-Git-Url: http://git.kpe.io/?p=lml2.git;a=blobdiff_plain;f=base.lisp;h=ee6598eb231bbd57e3a36311f90e788b939f27d7;hp=233d6ee685bb71ee6306f7fd5c01b074f13f6362;hb=1726bee5998c1f574c84f294f26b982e124da629;hpb=242b48efa026ba6ce106f1571a2aba64cec188bc diff --git a/base.lisp b/base.lisp index 233d6ee..ee6598e 100644 --- a/base.lisp +++ b/base.lisp @@ -7,28 +7,21 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Aug 2002 ;;;; -;;;; $Id: base.lisp,v 1.3 2003/06/23 20:37:43 kevin Exp $ +;;;; $Id: base.lisp,v 1.7 2003/07/12 17:54:05 kevin Exp $ ;;;; -;;;; This file, part of LML, is Copyright (c) 2002 by Kevin M. Rosenberg +;;;; This file, part of LML2, is Copyright (c) 2000-2003 by Kevin Rosenberg. +;;;; Rights of modification and redistribution are in the LICENSE file. ;;;; -;;;; LML users are granted the rights to distribute and use this software -;;;; as governed by the terms of the GNU General Public License v2 -;;;; (http://www.gnu.org/licenses/gpl.html) ;;;; ************************************************************************* (in-package #:lml2) -(defun reset-indent () - (setq *indent* 0)) - (defun lml-format (str &rest args) (when (streamp *html-stream*) - (when *print-spaces* (indent-spaces *indent* *html-stream*)) (if args (apply #'format *html-stream* str args) - (write-string str *html-stream*)) - (when *print-spaces* (write-char #\newline *html-stream*)))) + (write-string str *html-stream*)))) (defun lml-princ (s) (princ s *html-stream*)) @@ -45,12 +38,12 @@ (defun lml-print-date (date) (lml-write-string (date-string date))) -(defun html-prologue (&optional (format :xhtml11)) +(defun dtd-prologue (&optional (format :xhtml11)) (case format - ((:xhtml :xhtml11 :xhtml10-strict :xhtml10-transitional :xhtml10-frameset) + ((:xhtml :xhtml11 :xhtml10-strict :xhtml10-transitional :xhtml10-frameset :xml) (lml-write-string +xml-prologue-string+) (lml-write-char #\newline))) - (ecase format + (case format ((:xhtml11 :xhtml) (lml-write-string +xhtml11-dtd-string+)) (:xhtml10-strict @@ -64,17 +57,16 @@ (lml-write-char #\newline)) -(defmacro page ((out-file &key (format :xhtml11)) - &body body) +(defmacro html-file-page ((out-file &key (format :xhtml11)) + &body body) `(with-open-file (*html-stream* (lml-file-name ,out-file :output) :direction :output :if-exists :supersede) - (html-prologue ,format) + (dtd-prologue ,format) (html ((:html :xmlns "http://www.w3.org/1999/xhtml") ,@body)))) - (defmacro alink (url desc)