]> git.donarmstrong.com Git - lilypond.git/blob - scm/generate-documentation.scm
Juergens patch.
[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 ") out-port)
77
78 (define top-node
79   (make <texi-node>
80     #:name "Top"
81     #:children
82     (list
83      (music-doc-node)
84      (translation-doc-node)
85      (backend-doc-node)
86      (all-scheme-functions-doc)
87      (make <texi-node>
88        #:name "Index"
89        #:text "
90 @unnumbered Concept index
91
92 @printindex cp
93
94 @unnumbered Variable index
95
96 @printindex vr
97
98 @unnumbered Function index
99
100 @printindex fn
101
102 \n@bye"
103
104        
105      )
106     )))
107
108
109 (dump-node top-node out-port 0)
110 (newline (current-error-port))