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
13 (debug-enable 'backtrace)
14 (read-enable 'positions)
17 ;;;;;;;;;;;;;;;; TODO : make modules of these!
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"
26 (map load-from-path load-files)
29 ;;(define no-copies #t) ; from 490 to 410K, but doesn't look nice yet
31 ;; Also, copies of interfaces use up lots more space, but that's
32 ;; functional because the default property values of the interfaces
36 (let* ((doc (string-append
37 (document-music "Music properties")
38 (document-paper "Contexts")
39 (document-all-engravers "Engravers")
40 (document-all-engraver-properties "Context properties")
41 (document-all-grobs "Grob overview")
42 (document-all-interfaces "Interfaces")
44 (node "Backend properties")
45 (texi-section 1 "Backend properties" #f)
47 (document-all-backend-properties "Backend properties")
49 (node "Function documentation")
50 (texi-section 1 "Function documentation" #f)
52 (document-all-scheme-functions)
56 (name "lilypond-internals")
57 (outname (string-append name ".texi"))
58 (out (open-output-file outname)))
65 ;; we can't use (dir) and top if we're included by lilypond.tely
66 "LilyPond internals" name "(lilypond.info)"
68 ("Music properties" . "properties for Music representation")
69 ("Contexts" . "Hierarchy and grouping of Engravers")
70 ("Engravers" . "Engravers create Grobs")
71 ("Context properties" . "context properties")
72 ("Grob overview" . "Detailed description of all Grobs")
73 ("Interfaces" . "Grob Interfaces")
74 ("Backend properties" . "Grob properties")
75 ("Function documentation" . "All embedded functions")
84 @unnumbered Concept index
88 @unnumbered Variable index
92 @unnumbered Function index
102 (newline (current-error-port))