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