]> git.donarmstrong.com Git - lilypond.git/blob - scm/documentation-generate.scm
*** empty log message ***
[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 ;(set-debug-cell-accesses! 5000)
13
14 ;;;;;;;;;;;;;;;;
15 ;;;;;;;;;;;;;;;; TODO : make modules of these!
16 ;;;;;;;;;;;;;;;;
17
18 ; todo: naming: grob vs. layout property
19
20 (map ly:load '("documentation-lib.scm"
21                "document-functions.scm"
22                "document-translation.scm"
23                "document-music.scm"
24                "document-backend.scm"
25                "document-markup.scm"
26                ))
27
28 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
29
30 (display
31  (slot-ref (all-scheme-functions-doc) 'text)
32  (open-output-file "scheme-functions.tely"))
33
34 (display 
35  (markup-doc-string)
36  (open-output-file "markup-commands.tely"))
37
38
39 (display
40  (backend-properties-doc-string all-user-grob-properties)
41  (open-output-file "layout-properties.tely") )
42
43 (display
44  (translation-properties-doc-string all-user-translation-properties)
45  (open-output-file "context-properties.tely") )
46 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
47
48
49 (define file-name "lilypond-internals")
50 (define outname (string-append file-name ".texi"))
51
52
53 (define out-port (open-output-file outname))
54
55 (writing-wip outname)
56
57
58
59
60
61 (display
62  (string-append
63   (texi-file-head "LilyPond program-reference" file-name
64                   "(lilypond-internals.info)")
65   "
66
67 @ifhtml
68 @macro usermanref{NAME}
69 @uref{../lilypond/\\NAME\\.html,\\NAME\\}
70 @cindex \\NAME\\
71 @end macro
72 @end ifhtml
73
74 @ifinfo
75 @macro usermanref{NAME}
76 @ref{\\NAME\\,,,lilypond/lilypond}
77 @cindex \\NAME\\
78 @end macro
79 @end ifinfo
80
81 @iftex
82 @macro usermanref{NAME}
83 @ref{\\NAME\\}@c
84 @end macro
85 @end iftex
86
87 @ifhtml
88 @macro glossaryref{NAME}
89 @uref{../music-glossary/\\NAME\\.html,\\NAME\\}
90 @cindex \\NAME\\
91 @end macro
92 @end ifhtml
93
94 @ifinfo
95 @macro glossaryref{NAME}
96 @inforef{\\NAME\\,,lilypond/music-glossary}
97 @cindex \\NAME\\
98 @end macro
99 @end ifinfo
100
101
102 @macro internalsref{NAME}
103 @ref{\\NAME\\}
104 @end macro
105
106 @ifhtml
107
108 @macro inputfileref{DIR,NAME}
109 @uref{../../../../\\DIR\\/out-www/collated-files.html#\\NAME\\,@file{\\DIR\\/\\NAME\\}}@c
110 @end macro
111
112 @end ifhtml
113
114 @ifinfo
115
116 @macro inputfileref{DIR,NAME}
117 @file{\\DIR\\/\\NAME\\}
118 @end macro
119
120 @end ifinfo
121
122 @iftex
123 @macro inputfileref{DIR,NAME}@c
124 @file{\\DIR\\/\\NAME\\}@c
125 @end macro
126 @end iftex
127
128
129
130 @ignore
131 @omftitle LilyPond internals
132 @omfcreator Han-Wen Nienhuys and Jan Nieuwenhuizen
133 @omfdescription Programmer's reference of the LilyPond music engraving system
134 @omftype user's guide
135 @omflanguage English
136 @omfcategory Applications|Publishing
137 @end ignore
138
139
140 "
141
142
143   ) out-port)
144
145 (define top-node
146   (make <texi-node>
147     #:name "Top"
148     #:text 
149     (string-append  "This is the program reference for LilyPond version " (lilypond-version))
150
151     #:children
152     (list
153      (music-doc-node)
154      (translation-doc-node)
155      (backend-doc-node)
156      (all-scheme-functions-doc)
157      (make <texi-node>
158        #:name "Index"
159        #:text "
160 @unnumbered Concept index
161
162 @printindex cp
163
164 @unnumbered Variable index
165
166 @printindex vr
167
168 @unnumbered Function index
169
170 @printindex fn
171
172 \n@bye"
173
174        
175      )
176     )))
177
178
179 (dump-node top-node out-port 0)
180 (newline (current-error-port))
181
182
183
184