;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: stdsite.cl
+;;;; Name: stdsite.lisp
;;;; Purpose: Functions to create my standard style sites
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Aug 2002
;;;;
-;;;; $Id: stdsite.lisp,v 1.2 2002/10/18 06:34:05 kevin Exp $
+;;;; $Id$
;;;;
;;;; This file, part of LML, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
;;; content.lml_
;;; footer.lml_
-(declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))
-(in-package :lml)
+(in-package #:lml)
(defmacro std-head (title &body body)
- `(head
+ `(head
(title ,title)
(lml-load "head.lml_")
,@body))
(defun std-footer (file)
(div-c "disclaimsec"
(let ((src-file (make-pathname
- :defaults *sources-dir*
- :type "lml"
- :name (pathname-name file))))
+ :defaults *sources-dir*
+ :type "lml"
+ :name (pathname-name file))))
(when (probe-file src-file)
- (div-c "lastmod"
- (lml-print "Last modified: ~A" (date-string (file-write-date src-file))))))
+ (div-c "lastmod"
+ (lml-format "Last modified: ~A" (date-string (file-write-date src-file))))))
(lml-load "footer.lml_"))
(values))
(defmacro std-body (file &body body)
`(body
(lml-load "banner.lml_")
- (table-c "stdbodytable" :border "0" :cellpadding "3"
- (tbody
- (tr :valign "top"
- (td-c "stdcontentcell"
- (lml-load "contents.lml_"))
- (td :valign "top"
- ,@body
- (std-footer ,file)))))))
-
+ (table-c "stdbodytable" :border "0" :cellpadding "3"
+ (tbody
+ (tr :valign "top"
+ (td-c "stdcontentcell"
+ (lml-load "contents.lml_"))
+ (td :valign "top"
+ ,@body
+ (std-footer ,file)))))
+ (lml-load "final.lml_")))
+
(defmacro print-std-page (file title &body body)
`(progn
(xhtml-prologue)
(html :xmlns "http://www.w3.org/1999/xhtml"
- (std-head ,title)
- (std-body ,file ,@body))))
+ (std-head ,title)
+ (std-body ,file ,@body))))
(defmacro std-page (out-file title &body body)
`(let ((*indent* 0))
- (with-open-file (*html-output* (lml-file-name ,out-file :output)
- :direction :output
- :if-exists :supersede)
- (print-std-page (lml-file-name ,out-file :source) ,title ,@body))))
+ (with-open-file (*html-output* (lml-file-name ',out-file :output)
+ :direction :output
+ :if-exists :supersede)
+ (print-std-page (lml-file-name ',out-file :source) ,title ,@body))))
(defmacro titled-pre-section (title &body body)
`(progn
(h1 ,title)
(pre :style "padding-left:30pt;"
- ,@body)))
+ ,@body)))