1 ;;; generate-documentation.scm -- Generate documentation
3 ;;; source file of the GNU LilyPond music typesetter
5 ;;; (c) 2000--2001 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
16 ;;;;;;;;;;;;;;;; TODO : make modules of these!
19 (define load-files '("documentation-lib.scm"
20 "engraver-documentation-lib.scm"
21 "music-documentation-lib.scm"
22 "backend-documentation-lib.scm"))
24 (map load-from-path load-files)
27 ;;(define no-copies #t) ; from 490 to 410K, but doesn't look nice yet
29 ;; Also, copies of interfaces use up lots more space, but that's
30 ;; functional because the default property values of the interfaces
36 (let* ((doc (string-append
37 (document-music "LilyPond music properties")
38 (document-paper "LilyPond interpretation contexts")
39 (document-all-engravers "LilyPond engravers")
40 (document-all-engraver-properties "LilyPond context properties")
41 (document-all-grobs "LilyPond backend")
42 (document-all-interfaces "LilyPond interfaces")
43 (document-all-backend-properties "LilyPond backend properties")
46 (name "lilypond-internals")
47 (outname (string-append name ".texi"))
48 (out (open-output-file outname)))
55 ;; we can't use (dir) and top if we're included by lilypond.tely
56 "LilyPond internals" name "(lilypond.info)"
58 ("LilyPond music properties" . "properties for Music representation")
59 ("LilyPond interpretation contexts" . "Hierarchy and grouping of Engravers")
60 ("LilyPond engravers" . "Engravers create Grobs")
61 ("LilyPond context properties" . "context properties")
62 ("LilyPond backend" . "Detailed description of all Grobs")
63 ("LilyPond interfaces" . "Grob Interfaces")
64 ("LilyPond backend properties" . "Grob properties")
73 @unnumbered Concept index
77 @unnumbered Variable index
81 @unnumbered Function index
91 (newline (current-error-port))