]> git.donarmstrong.com Git - lilypond.git/blob - scm/generate-documentation.scm
d53207fabaa679bf720f6ca821aa7a32251eed7b
[lilypond.git] / scm / generate-documentation.scm
1
2 ;;; generate-documentation.scm -- Generate documentation
3 ;;;
4 ;;; source file of the GNU LilyPond music typesetter
5 ;;; 
6 ;;; (c) 2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 ;;; Jan Nieuwenhuizen <janneke@gnu.org>
8
9 ;;; File entry point for generated documentation
10
11 ;;; Running LilyPond on this file generates the documentation
12
13
14
15 ;; We use ly-gulp because these files live in
16 ;;
17 ;;     PATH=$LILYPONDPREFIX/scm:<datadir>/scm
18 ;;
19 (eval-string (ly-gulp-file "documentation-lib.scm"))
20 (eval-string (ly-gulp-file "engraver-documentation-lib.scm"))
21 (eval-string (ly-gulp-file "backend-documentation-lib.scm"))
22
23 (let* ((doc (string-append
24             (document-paper "LilyPond interpretation contexts")
25             (document-all-engravers "LilyPond engravers")
26             (document-all-elements "LilyPond backend")))
27        (name "lilypond-internals")
28        (outname (string-append name ".texi"))
29        (out (open-output-file outname)))
30     
31   (writing-wip outname)
32   (display 
33    (string-append
34     (texi-file-head
35      
36      ;; we can't use (dir) and top if we're included by lilypond.tely
37      "LilyPond internals" name "(lilypond.info)"
38      '(("LilyPond interpretation contexts" . "Hierarchy and grouping of Engravers")
39        ("LilyPond engravers" . "Engravers create Elements")
40        ("LilyPond backend" . "Detailed description of all Elements")))
41      
42     doc
43     "\n@bye")
44     out))
45
46 (newline (current-error-port))