1 ;;; generate-documentation.scm -- Generate documentation
3 ;;; source file of the GNU LilyPond music typesetter
5 ;;; (c) 2000--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
6 ;;; Jan Nieuwenhuizen <janneke@gnu.org>
8 ;;; File entry point for generated documentation
10 ;;; Running LilyPond on this file generates the documentation
13 (debug-enable 'backtrace)
14 (read-enable 'positions)
17 ;;;;;;;;;;;;;;;; TODO : make modules of these!
20 ; todo: naming: grob vs. layout property
22 (define load-files '("documentation-lib.scm"
23 "document-functions.scm"
24 "document-translation.scm"
26 "document-backend.scm"
29 (map ly:load load-files)
32 ;;(define no-copies #t) ; from 490 to 410K, but doesn't look nice yet
34 ;; Also, copies of interfaces use up lots more space, but that's
35 ;; functional because the default property values of the interfaces
39 (define file-name "lilypond-internals")
40 (define outname (string-append file-name ".texi"))
41 (define out-port (open-output-file outname))
48 (texi-file-head "LilyPond program-reference" outname "(lilypond-internals.info)")
52 @macro usermanref{NAME}
53 @uref{../lilypond/\\NAME\\.html,\\NAME\\}
59 @macro usermanref{NAME}
60 @inforef{\\NAME\\,,lilypond}
66 @macro glossaryref{NAME}
67 @uref{../music-glossary/\\NAME\\.html,\\NAME\\}
73 @macro glossaryref{NAME}
74 @inforef{\\NAME\\,,music-glossary}
80 @macro internalsref{NAME}
86 @macro inputfileref{DIR,NAME}
87 @uref{../../../../\\DIR\\/out-www/collated-files.html#\\NAME\\,@file{\\DIR\\/\\NAME\\}}@c
94 @macro inputfileref{DIR,NAME}
95 @file{\\DIR\\/\\NAME\\}
101 @macro inputfileref{DIR,NAME}@c
102 @file{\\DIR\\/\\NAME\\}@c
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
114 @omfcategory Applications|Publishing
126 (translation-doc-node)
128 (all-scheme-functions-doc)
133 @unnumbered Concept index
137 @unnumbered Variable index
141 @unnumbered Function index
152 (dump-node top-node out-port 0)
153 (newline (current-error-port))
156 (dump-node (all-scheme-functions-doc)
157 (open-output-file "scheme-functions.tely")
162 #:name "Layout property overview"
163 #:desc "All user serviceable layout properties"
164 #:text (backend-properties-doc-string all-user-grob-properties))
166 (open-output-file "layout-properties.tely")
171 #:name "Context property overview"
172 #:desc "All user serviceable context properties"
173 #:text (translation-properties-doc-string all-user-translation-properties))
175 (open-output-file "context-properties.tely")