aboutsummaryrefslogtreecommitdiff
path: root/doc/user/document.skb
blob: 8521af03b63a50eacb301dc9a4c4706a7320e0f6 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
;*=====================================================================*/
;*    serrano/prgm/project/skribe/doc/user/document.skb                */
;*    -------------------------------------------------------------    */
;*    Author      :  Manuel Serrano                                    */
;*    Creation    :  Tue Sep  2 11:39:07 2003                          */
;*    Last change :  Wed Feb  4 14:51:12 2004 (serrano)                */
;*    Copyright   :  2003-04 Manuel Serrano                            */
;*    -------------------------------------------------------------    */
;*    Document and author                                              */
;*=====================================================================*/

;*---------------------------------------------------------------------*/
;*    dummy-document-output ...                                        */
;*---------------------------------------------------------------------*/
(define dummy-document-output
   (lambda (n e)
      (let* ((a (markup-option n :author))
	     (t (markup-option n :title))
	     (b (markup-body n))
	     (ta (table (tr (map (lambda (n) 
				    (td :valign 'top :align 'center n))
	                         (if (list? a) a (list a)))))))
	 (skribe-eval (center (bold t)) e)
	 (skribe-eval (center ta) e)
	 (output b e))))

;*---------------------------------------------------------------------*/
;*    Document                                                         */
;*---------------------------------------------------------------------*/
(section :title "Building documents" :file #t

;*--- document --------------------------------------------------------*/
(subsection :title "Document"

(p [The ,(tt "document") function defines a Skribe document.])

(doc-markup 'document
	    '((:title "The title of the document.")
	      (:html-title "The title of window of the HTML browser.")
	      (:author "The authors of the document.")
	      (:ending "An ending text.")
	      (:keywords "A list of keywords which may be plain strings
or markups.  The keywords will not appear in the final document but only
as meta-information (e.g., using the HTML `meta' tag) if the engine used
supports it.")
	      (:env "A counter environment.")
	      (#!rest node... "The document nodes."))
	    :see-also '(author chapter toc))

(example-produce
 (example :legend "The document markup" (prgm :file "src/api2.skb"))
 (disp 
  (processor :combinator 
	     (lambda (e1 e2)
		(let ((e (copy-engine 'document-engine e2)))
		   (markup-writer 'document e
				  :options '(:title :author :ending)
				  :action dummy-document-output)
		   e))
	     (include "src/api2.skb")))))
	       
;*---------------------------------------------------------------------*/
;*    Author ...                                                       */
;*---------------------------------------------------------------------*/
(subsection :title "Author"

(p [The ,(tt "author") function is used to specify the authors of a Skribe
document.])

(doc-markup 'author
	    '((:name "The name of the author.")
	      (:title "His title.")
	      (:affiliation "His affiliation.")
	      (:email "His email.")
	      (:url "His web page.")
	      (:address "His address.")
	      (:phone "His phone number.")
	      (:photo "His photograph.")
	      (:align "The author item alignment."))
	    :see-also '(mailto ref))

(example-produce 
 (example :legend "The author markup" (prgm :file "src/api3.skb"))
 (disp (include "src/api3.skb")))))