]> git.donarmstrong.com Git - lilypond.git/blob - scm/generate-documentation.scm
* input/test/divisiones.ly: added
[lilypond.git] / scm / generate-documentation.scm
1 ;;; generate-documentation.scm -- Generate documentation
2 ;;;
3 ;;; source file of the GNU LilyPond music typesetter
4 ;;; 
5 ;;; (c) 2000--2002 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 (define load-files '("documentation-lib.scm"
21                      "function-documentation.scm"
22                      "engraver-documentation-lib.scm"
23                      "music-documentation-lib.scm"
24                      "backend-documentation-lib.scm"
25                      ))
26 (map ly:load load-files)
27
28
29 ;;(define no-copies #t)  ; from 490 to 410K, but doesn't look nice yet
30 ;;
31 ;; Also, copies of interfaces use up lots more space, but that's
32 ;; functional because the default property values of the interfaces
33 ;; are described...
34 (define no-copies #f)
35
36 (define file-name "lilypond-internals")
37 (define outname (string-append file-name ".texi"))
38 (define out-port (open-output-file outname))
39
40 (writing-wip outname)
41
42 (display
43  (string-append
44   "@c -*-texinfo-*-"
45   (texi-file-head "LilyPond internals" outname "(lilypond.info)")
46   "
47
48 @ifhtml
49 @macro usermanref{NAME}
50 @uref{../lilypond/\\NAME\\.html,\\NAME\\}
51 @cindex \\NAME\\
52 @end macro
53 @end ifhtml
54
55 @ifinfo
56 @macro usermanref{NAME}
57 @inforef{\\NAME\\,,lilypond}
58 @cindex \\NAME\\
59 @end macro
60 @end ifinfo
61
62 @ifhtml
63 @macro glossaryref{NAME}
64 @uref{../music-glossary/\\NAME\\.html,\\NAME\\}
65 @cindex \\NAME\\
66 @end macro
67 @end ifhtml
68
69 @ifinfo
70 @macro glossaryref{NAME}
71 @inforef{\\NAME\\,,music-glossary}
72 @cindex \\NAME\\
73 @end macro
74 @end ifinfo
75
76
77 @ignore
78 @omftitle LilyPond internals
79 @omfcreator Han-Wen Nienhuys and Jan Nieuwenhuizen
80 @omfdescription Programmer's reference of the LilyPond music engraving system
81 @omftype user's guide
82 @omflanguage English
83 @omfcategory Music
84 @end ignore
85
86
87 ") out-port)
88
89 (define top-node
90   (make <texi-node>
91     #:name "Top"
92     #:children
93     (list
94      (music-doc-node)
95      (translation-doc-node)
96      (backend-doc-node)
97      (all-scheme-functions-doc)
98      (make <texi-node>
99        #:name "Index"
100        #:text "
101 @unnumbered Concept index
102
103 @printindex cp
104
105 @unnumbered Variable index
106
107 @printindex vr
108
109 @unnumbered Function index
110
111 @printindex fn
112
113 \n@bye"
114
115        
116      )
117     )))
118
119
120 (dump-node top-node out-port 0)
121 (newline (current-error-port))