X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=stdsite.lisp;h=14fb961b02c8c45aa7b12f3be82af361e9164b62;hb=d939ce3d13a5a43ca21d8b34d7ecfd1462a34980;hp=c7b96d7a4ec26ed9073a12c16bf321376f7b0cd2;hpb=242b48efa026ba6ce106f1571a2aba64cec188bc;p=lml2.git diff --git a/stdsite.lisp b/stdsite.lisp index c7b96d7..14fb961 100644 --- a/stdsite.lisp +++ b/stdsite.lisp @@ -7,22 +7,24 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Aug 2002 ;;;; -;;;; $Id: stdsite.lisp,v 1.4 2003/06/23 20:37:43 kevin Exp $ +;;;; $Id$ ;;;; -;;;; This file, part of LML2, 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. ;;;; -;;;; LML2 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) ;;;; ************************************************************************* + ;;; A "standard site" is a format for a certain style of web page. ;;; It is based on the LML2 package. ;;; A stdsite page expects to include the following files: -;;; head.lml_ +;;; header.lml_ ;;; banner.lml_ ;;; content.lml_ ;;; footer.lml_ +;;; These files are optional +;;; final.lml_ +;;; rightcol.lml_ (in-package #:lml2) @@ -30,7 +32,7 @@ `(html (:head (:title (:princ ,title)) - (lml-load "head.lml_") + (lml-load "header.lml_") ,@body))) @@ -59,12 +61,15 @@ (lml-load "contents.lml_")) ((:td :valign "top") ,@body - (std-footer ,file)))))))) + (std-footer ,file)) + ((:td :valign "top") + (lml-load "rightcol.lml_" :optional t))))) + (lml-load "final.lml_" :optional t)))) (defmacro print-std-page (file title format &body body) `(progn - (html-prologue ,format) + (dtd-prologue ,format) (html ((:html :xmlns "http://www.w3.org/1999/xhtml") (std-head ,title) @@ -73,10 +78,10 @@ (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) + (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 ,format ,@body)))) + (print-std-page (lml-file-name ',out-file :source) ,title ,format ,@body)))) (defmacro titled-pre-section (title &body body) `(progn