1 ;;;; This file is part of LilyPond, the GNU music typesetter.
3 ;;;; Copyright (C) 2000--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
4 ;;;; Jan Nieuwenhuizen <janneke@gnu.org>
6 ;;;; LilyPond is free software: you can redistribute it and/or modify
7 ;;;; it under the terms of the GNU General Public License as published by
8 ;;;; the Free Software Foundation, either version 3 of the License, or
9 ;;;; (at your option) any later version.
11 ;;;; LilyPond is distributed in the hope that it will be useful,
12 ;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 ;;;; GNU General Public License for more details.
16 ;;;; You should have received a copy of the GNU General Public License
17 ;;;; along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
19 ;;; File entry point for generated documentation
20 ;;; Running LilyPond on this file generates the documentation
22 ;;(set-debug-cell-accesses! 5000)
25 ;;;;;;;;;;;;;;;; TODO : make modules of these!
28 ;; todo: naming: grob vs. layout property
30 (use-modules (scm accreg))
32 (for-each ly:load '("documentation-lib.scm"
34 "document-functions.scm"
35 "document-translation.scm"
37 "document-type-predicates.scm"
38 "document-identifiers.scm"
39 "document-context-mods.scm"
40 "document-backend.scm"
41 "document-markup.scm"))
43 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
46 (slot-ref (all-scheme-functions-doc) 'text)
47 (open-output-file "scheme-functions.tely"))
50 ;; (markup-doc-string)
51 ;; (open-output-file "markup-commands.tely"))
54 ;; ugly hack to remove the @node... @appendixsec... portion
56 (call-with-output-string
58 (dump-node (markup-doc-node) port 2)))
59 ;; magic number to remove the initial part. 63 comes from:
60 ;; "\nnode Text markup commands\n@appendixsec Text markup commands\n\n\n\n"
61 ;; which is generated by (dump-node...) in documentation-lib.scm
64 (open-output-file "markup-commands.tely"))
67 (markup-list-doc-string)
68 (open-output-file "markup-list-commands.tely"))
71 type-predicates-doc-string
72 (open-output-file "type-predicates.tely"))
75 (identifiers-doc-string)
76 (open-output-file "identifiers.tely"))
79 context-mods-doc-string
80 (open-output-file "context-mod-identifiers.tely"))
83 (backend-properties-doc-string all-user-grob-properties)
84 (open-output-file "layout-properties.tely"))
87 (translation-properties-doc-string all-user-translation-properties)
88 (open-output-file "context-properties.tely"))
90 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
92 (define file-name "internals")
93 (define outname (string-append file-name ".texi"))
95 (define out-port (open-output-file outname))
101 (texi-file-head "LilyPond Internals Reference" file-name
102 "(lilypond-internals.info)")
105 @include macros.itexi
108 @omftitle LilyPond internals
109 @omfcreator Han-Wen Nienhuys and Jan Nieuwenhuizen
110 @omfdescription Programmer's reference of the LilyPond music engraving system
111 @omftype user's guide
113 @omfcategory Applications|Publishing
124 @subtitle The music typesetter
125 @titlefont{Internals Reference}
126 @author The LilyPond development team
128 @c `Internals Reference' was born 2000-10-21 with this commit:
129 @c patch::: 1.3.96.jcn9
130 @c author: Jan Nieuwenhuizen
131 @c commit: 8ecd09ad7514d57630fb611d38c161f3c3c708db
132 @c file: scm/generate-documentation.scm
133 Copyright @copyright{} 2000--2015 by the authors
137 For LilyPond version @version{}
147 #:name "GNU LilyPond -- Internals Reference"
149 (string-append "@end ifnottex
153 This document is also available as a
154 @uref{source/Documentation/internals.pdf,PDF} and as
155 @uref{source/Documentation/internals-big-page.html,one big page}.
158 This document is also available as a
159 @uref{source/Documentation/internals.pdf,PDF} and as a
160 @uref{source/Documentation/internals/index.html,HTML indexed multiple pages}.
164 This is the Internals Reference (IR) for version "
166 " of LilyPond, the GNU music typesetter.")
171 (translation-doc-node)
173 (all-scheme-functions-doc)
178 @appendixsec Concept index
182 @appendixsec Function index
188 (dump-node top-node out-port 0)
189 (newline (current-error-port))