]> git.donarmstrong.com Git - lilypond.git/blob - scm/documentation-generate.scm
* lily/chord-name.cc: remove props chord, bass, inversion.
[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 (define file-name "lilypond-internals")
40 (define outname (string-append file-name ".texi"))
41 (define out-port (open-output-file outname))
42
43 (writing-wip outname)
44
45 (display
46  (string-append
47   "@c -*-texinfo-*-"
48   (texi-file-head "LilyPond program-reference" outname "(lilypond-internals.info)")
49   "
50
51 @ifhtml
52 @macro usermanref{NAME}
53 @uref{../lilypond/\\NAME\\.html,\\NAME\\}
54 @cindex \\NAME\\
55 @end macro
56 @end ifhtml
57
58 @ifinfo
59 @macro usermanref{NAME}
60 @inforef{\\NAME\\,,lilypond}
61 @cindex \\NAME\\
62 @end macro
63 @end ifinfo
64
65 @ifhtml
66 @macro glossaryref{NAME}
67 @uref{../music-glossary/\\NAME\\.html,\\NAME\\}
68 @cindex \\NAME\\
69 @end macro
70 @end ifhtml
71
72 @ifinfo
73 @macro glossaryref{NAME}
74 @inforef{\\NAME\\,,music-glossary}
75 @cindex \\NAME\\
76 @end macro
77 @end ifinfo
78
79
80 @macro internalsref{NAME}
81 @ref{\\NAME\\}
82 @end macro
83
84 @ifhtml
85
86 @macro inputfileref{DIR,NAME}
87 @uref{../../../../\\DIR\\/out-www/collated-files.html#\\NAME\\,@file{\\DIR\\/\\NAME\\}}@c
88 @end macro
89
90 @end ifhtml
91
92 @ifinfo
93
94 @macro inputfileref{DIR,NAME}
95 @file{\\DIR\\/\\NAME\\}
96 @end macro
97
98 @end ifinfo
99
100 @iftex
101 @macro inputfileref{DIR,NAME}@c
102 @file{\\DIR\\/\\NAME\\}@c
103 @end macro
104 @end iftex
105
106
107
108 @ignore
109 @omftitle LilyPond internals
110 @omfcreator Han-Wen Nienhuys and Jan Nieuwenhuizen
111 @omfdescription Programmer's reference of the LilyPond music engraving system
112 @omftype user's guide
113 @omflanguage English
114 @omfcategory Applications|Publishing
115 @end ignore
116
117
118 ") out-port)
119
120 (define top-node
121   (make <texi-node>
122     #:name "Top"
123     #:children
124     (list
125      (music-doc-node)
126      (translation-doc-node)
127      (backend-doc-node)
128      (all-scheme-functions-doc)
129      (markup-doc-node)
130      (make <texi-node>
131        #:name "Index"
132        #:text "
133 @unnumbered Concept index
134
135 @printindex cp
136
137 @unnumbered Variable index
138
139 @printindex vr
140
141 @unnumbered Function index
142
143 @printindex fn
144
145 \n@bye"
146
147        
148      )
149     )))
150
151
152 (dump-node top-node out-port 0)
153 (newline (current-error-port))
154
155
156 (dump-node (all-scheme-functions-doc)
157            (open-output-file "scheme-functions.tely")
158            2)
159
160 (dump-node
161  (make <texi-node>
162    #:name "Layout property overview"
163    #:desc "All user serviceable layout properties"
164    #:text (backend-properties-doc-string all-user-grob-properties))
165
166  (open-output-file "layout-properties.tely")
167  2)
168
169 (dump-node
170  (make <texi-node>
171    #:name "Context property overview"
172    #:desc "All user serviceable context properties"
173    #:text (translation-properties-doc-string all-user-translation-properties))
174  
175  (open-output-file "context-properties.tely")
176  2)
177
178