]> git.donarmstrong.com Git - lilypond.git/blob - scm/documentation-generate.scm
* lily/grob.cc: edit doc string.
[lilypond.git] / scm / documentation-generate.scm
1 ;;; generate-documentation.scm -- Generate documentation
2 ;;;
3 ;;; source file of the GNU LilyPond music typesetter
4 ;;; 
5 ;;; (c)  2000--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
6 ;;; Jan Nieuwenhuizen <janneke@gnu.org>
7
8 ;;; File entry point for generated documentation
9
10 ;;; Running LilyPond on this file generates the documentation
11
12 (debug-enable 'debug)
13 (debug-enable 'backtrace)
14 (read-enable 'positions)
15
16 ;;;;;;;;;;;;;;;;
17 ;;;;;;;;;;;;;;;; TODO : make modules of these!
18 ;;;;;;;;;;;;;;;;
19
20 ; todo: naming: grob vs. layout property
21
22 (define load-files '("documentation-lib.scm"
23                      "document-functions.scm"
24                      "document-translation.scm"
25                      "document-music.scm"
26                      "document-backend.scm"
27                      "document-markup.scm"
28                      ))
29 (map ly:load load-files)
30
31
32 ;;(define no-copies #t)  ; from 490 to 410K, but doesn't look nice yet
33 ;;
34 ;; Also, copies of interfaces use up lots more space, but that's
35 ;; functional because the default property values of the interfaces
36 ;; are described...
37 (define no-copies #f)
38
39
40
41
42
43
44
45
46
47
48
49
50 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
51
52 (dump-node (all-scheme-functions-doc)
53            (open-output-file "scheme-functions.tely")
54            2)
55
56 (display 
57  (markup-doc-string)
58
59  (open-output-file "markup-commands.tely")
60  )
61
62 (dump-node
63  (make <texi-node>
64    #:name "Layout property overview"
65    #:desc "All user serviceable layout properties"
66    #:text (backend-properties-doc-string all-user-grob-properties))
67
68  (open-output-file "layout-properties.tely")
69  2)
70
71 (dump-node
72  (make <texi-node>
73    #:name "Context property overview"
74    #:desc "All user serviceable context properties"
75    #:text (translation-properties-doc-string all-user-translation-properties))
76  
77  (open-output-file "context-properties.tely")
78  2)
79
80 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
81
82
83 (define file-name "lilypond-internals")
84 (define outname (string-append file-name ".texi"))
85
86
87 (define out-port (open-output-file outname))
88
89 (writing-wip outname)
90
91
92
93
94
95 (display
96  (string-append
97   (texi-file-head "LilyPond program-reference" outname "(lilypond-internals.info)")
98   "
99
100 @ifhtml
101 @macro usermanref{NAME}
102 @uref{../lilypond/\\NAME\\.html,\\NAME\\}
103 @cindex \\NAME\\
104 @end macro
105 @end ifhtml
106
107 @ifinfo
108 @macro usermanref{NAME}
109 @inforef{\\NAME\\,,lilypond}
110 @cindex \\NAME\\
111 @end macro
112 @end ifinfo
113
114 @ifhtml
115 @macro glossaryref{NAME}
116 @uref{../music-glossary/\\NAME\\.html,\\NAME\\}
117 @cindex \\NAME\\
118 @end macro
119 @end ifhtml
120
121 @ifinfo
122 @macro glossaryref{NAME}
123 @inforef{\\NAME\\,,music-glossary}
124 @cindex \\NAME\\
125 @end macro
126 @end ifinfo
127
128
129 @macro internalsref{NAME}
130 @ref{\\NAME\\}
131 @end macro
132
133 @ifhtml
134
135 @macro inputfileref{DIR,NAME}
136 @uref{../../../../\\DIR\\/out-www/collated-files.html#\\NAME\\,@file{\\DIR\\/\\NAME\\}}@c
137 @end macro
138
139 @end ifhtml
140
141 @ifinfo
142
143 @macro inputfileref{DIR,NAME}
144 @file{\\DIR\\/\\NAME\\}
145 @end macro
146
147 @end ifinfo
148
149 @iftex
150 @macro inputfileref{DIR,NAME}@c
151 @file{\\DIR\\/\\NAME\\}@c
152 @end macro
153 @end iftex
154
155
156
157 @ignore
158 @omftitle LilyPond internals
159 @omfcreator Han-Wen Nienhuys and Jan Nieuwenhuizen
160 @omfdescription Programmer's reference of the LilyPond music engraving system
161 @omftype user's guide
162 @omflanguage English
163 @omfcategory Applications|Publishing
164 @end ignore
165
166
167 ") out-port)
168
169 (define top-node
170   (make <texi-node>
171     #:name "Top"
172     #:children
173     (list
174      (music-doc-node)
175      (translation-doc-node)
176      (backend-doc-node)
177      (all-scheme-functions-doc)
178      (make <texi-node>
179        #:name "Index"
180        #:text "
181 @unnumbered Concept index
182
183 @printindex cp
184
185 @unnumbered Variable index
186
187 @printindex vr
188
189 @unnumbered Function index
190
191 @printindex fn
192
193 \n@bye"
194
195        
196      )
197     )))
198
199
200 (dump-node top-node out-port 0)
201 (newline (current-error-port))
202
203
204
205