1 ;;;; generate-documentation.scm -- Generate documentation
3 ;;;; source file of the GNU LilyPond music typesetter
5 ;;;; (c) 2000--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
6 ;;;; Jan Nieuwenhuizen <janneke@gnu.org>
8 ;;; File entry point for generated documentation
9 ;;; Running LilyPond on this file generates the documentation
11 ;;(set-debug-cell-accesses! 5000)
14 ;;;;;;;;;;;;;;;; TODO : make modules of these!
17 ;; todo: naming: grob vs. layout property
19 (map ly:load '("documentation-lib.scm"
20 "document-functions.scm"
21 "document-translation.scm"
23 "document-identifiers.scm"
24 "document-backend.scm"
25 "document-markup.scm"))
27 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
30 (slot-ref (all-scheme-functions-doc) 'text)
31 (open-output-file "scheme-functions.tely"))
34 ;; (markup-doc-string)
35 ;; (open-output-file "markup-commands.tely"))
37 (call-with-output-file "markup-commands.tely"
39 (dump-node (markup-doc-node) port 2 #t)))
41 (call-with-output-file "markup-list-commands.tely"
43 (dump-node (markup-list-doc-node) port 2 #t)))
46 (identifiers-doc-string)
47 (open-output-file "identifiers.tely"))
51 (backend-properties-doc-string all-user-grob-properties)
52 (open-output-file "layout-properties.tely"))
55 (translation-properties-doc-string all-user-translation-properties)
56 (open-output-file "context-properties.tely"))
58 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
60 (define file-name "lilypond-internals")
61 (define outname (string-append file-name ".texi"))
63 (define out-port (open-output-file outname))
69 (texi-file-head "LilyPond program-reference" file-name
70 "(lilypond/lilypond-internals.info)")
73 @c NOTE: This is documentation-generate.scm, not macros.itexi
82 @ref{\\TEXT\\,,,lilypond-big-page,Notation Reference}
86 @macro glossaryref{TEXT}
88 @ref{\\TEXT\\,,,music-glossary-big-page,Music Glossary}
96 @ref{\\NAME\\,,,lilypond}
100 @macro glossaryref{NAME}
101 @ref{\\NAME\\,,,music-glossary}
107 @macro inputfileref{DIR,NAME}
108 @uref{source/\\DIR\\/out-www/collated-files.html#\\NAME\\,@file{\\DIR\\/\\NAME\\}}@c
113 ‘\\TEXT\\’
123 @ref{\\NAME\\,,,lilypond}
127 @macro inputfileref{DIR,NAME}
128 @file{\\DIR\\/\\NAME\\}
144 @macro inputfileref{DIR,NAME}@c
145 @file{\\DIR\\/\\NAME\\}@c
154 @macro rinternals{NAME}
160 @omftitle LilyPond internals
161 @omfcreator Han-Wen Nienhuys and Jan Nieuwenhuizen
162 @omfdescription Programmer's reference of the LilyPond music engraving system
163 @omftype user's guide
165 @omfcategory Applications|Publishing
176 (string-append "This is the program reference for version "
178 " of LilyPond, the GNU music typesetter.")
183 (translation-doc-node)
185 (all-scheme-functions-doc)
189 @unnumbered Concept index
193 @unnumbered Function index
199 (dump-node top-node out-port 0)
200 (newline (current-error-port))