-;;; generate-documentation.scm -- Generate documentation
-;;;
-;;; source file of the GNU LilyPond music typesetter
-;;;
-;;; (c) 2000--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-;;; Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; generate-documentation.scm -- Generate documentation
+;;;;
+;;;; source file of the GNU LilyPond music typesetter
+;;;;
+;;;; (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;;; File entry point for generated documentation
-
;;; Running LilyPond on this file generates the documentation
-(debug-enable 'debug)
-(debug-enable 'backtrace)
-(read-enable 'positions)
+;;(set-debug-cell-accesses! 5000)
;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;; TODO : make modules of these!
;;;;;;;;;;;;;;;;
-; todo: naming: grob vs. layout property
+;; todo: naming: grob vs. layout property
-(define load-files '("documentation-lib.scm"
- "document-functions.scm"
- "document-translation.scm"
- "document-music.scm"
- "document-backend.scm"
- "document-markup.scm"
- ))
-(map ly:load load-files)
+(map ly:load '("documentation-lib.scm"
+ "lily-sort.scm"
+ "document-functions.scm"
+ "document-translation.scm"
+ "document-music.scm"
+ "document-identifiers.scm"
+ "document-backend.scm"
+ "document-markup.scm"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(slot-ref (all-scheme-functions-doc) 'text)
(open-output-file "scheme-functions.tely"))
+;;(display
+;; (markup-doc-string)
+;; (open-output-file "markup-commands.tely"))
+
+(call-with-output-file "markup-commands.tely"
+ (lambda (port)
+ (dump-node (markup-doc-node) port 2)))
+
+(call-with-output-file "markup-list-commands.tely"
+ (lambda (port)
+ (dump-node (markup-list-doc-node) port 2)))
+
(display
- (markup-doc-string)
- (open-output-file "markup-commands.tely"))
+ (identifiers-doc-string)
+ (open-output-file "identifiers.tely"))
(display
(backend-properties-doc-string all-user-grob-properties)
- (open-output-file "layout-properties.tely") )
+ (open-output-file "layout-properties.tely"))
(display
(translation-properties-doc-string all-user-translation-properties)
- (open-output-file "context-properties.tely") )
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+ (open-output-file "context-properties.tely"))
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-(define file-name "lilypond-internals")
+(define file-name "internals")
(define outname (string-append file-name ".texi"))
-
(define out-port (open-output-file outname))
(writing-wip outname)
-
-
-
-
(display
(string-append
- (texi-file-head "LilyPond program-reference" outname "(lilypond-internals.info)")
+ (texi-file-head "LilyPond Internals Reference" file-name
+ "(lilypond-internals.info)")
"
-@ifhtml
-@macro usermanref{NAME}
-@uref{../lilypond/\\NAME\\.html,\\NAME\\}
-@cindex \\NAME\\
-@end macro
-@end ifhtml
+@include macros.itexi
-@ifinfo
-@macro usermanref{NAME}
-@inforef{\\NAME\\,,lilypond}
-@cindex \\NAME\\
-@end macro
-@end ifinfo
+@ignore
+@omftitle LilyPond internals
+@omfcreator Han-Wen Nienhuys and Jan Nieuwenhuizen
+@omfdescription Programmer's reference of the LilyPond music engraving system
+@omftype user's guide
+@omflanguage English
+@omfcategory Applications|Publishing
+@end ignore
@iftex
-@macro usermanref{NAME}
-@ref{\\NAME\\}@c
-@end macro
+@afourpaper
@end iftex
-@ifhtml
-@macro glossaryref{NAME}
-@uref{../music-glossary/\\NAME\\.html,\\NAME\\}
-@cindex \\NAME\\
-@end macro
-@end ifhtml
+@finalout
-@ifinfo
-@macro glossaryref{NAME}
-@inforef{\\NAME\\,,music-glossary}
-@cindex \\NAME\\
-@end macro
-@end ifinfo
+@titlepage
+@title LilyPond
+@subtitle The music typesetter
+@titlefont{Internals Reference}
+@author The LilyPond development team
+Copyright @copyright{} 1999--2009 by the authors
-@macro internalsref{NAME}
-@ref{\\NAME\\}
-@end macro
-
-@ifhtml
-
-@macro inputfileref{DIR,NAME}
-@uref{../../../../\\DIR\\/out-www/collated-files.html#\\NAME\\,@file{\\DIR\\/\\NAME\\}}@c
-@end macro
-
-@end ifhtml
+@vskip 20pt
-@ifinfo
+For LilyPond version @version{}
+@end titlepage
-@macro inputfileref{DIR,NAME}
-@file{\\DIR\\/\\NAME\\}
-@end macro
+@contents
-@end ifinfo
+@ifnottex")
+ out-port)
-@iftex
-@macro inputfileref{DIR,NAME}@c
-@file{\\DIR\\/\\NAME\\}@c
-@end macro
-@end iftex
-
-
-
-@ignore
-@omftitle LilyPond internals
-@omfcreator Han-Wen Nienhuys and Jan Nieuwenhuizen
-@omfdescription Programmer's reference of the LilyPond music engraving system
-@omftype user's guide
-@omflanguage English
-@omfcategory Applications|Publishing
-@end ignore
+(define top-node
+ (make <texi-node>
+ #:name "GNU LilyPond -- Internals Reference"
+ #:text
+ (string-append "@end ifnottex
+@ifhtml
+@ifclear bigpage
+This document is also available as a
+@uref{source/Documentation/internals.pdf,PDF} and as
+@uref{source/Documentation/internals-big-page.html,one big page}.
+@end ifclear
+@ifset bigpage
+This document is also available as a
+@uref{source/Documentation/internals.pdf,PDF} and as a
+@uref{source/Documentation/internals/index.html,HTML indexed multiple pages}.
+@end ifset
+@end ifhtml
-") out-port)
+This is the Internals Reference (IR) for version "
+ (lilypond-version)
+ " of LilyPond, the GNU music typesetter.")
-(define top-node
- (make <texi-node>
- #:name "Top"
#:children
(list
(music-doc-node)
(backend-doc-node)
(all-scheme-functions-doc)
(make <texi-node>
- #:name "Index"
+ #:appendix #t
+ #:name "Indices"
#:text "
-@unnumbered Concept index
+@appendixsec Concept index
@printindex cp
-@unnumbered Variable index
-
-@printindex vr
-
-@unnumbered Function index
+@appendixsec Function index
@printindex fn
-\n@bye"
-
-
- )
- )))
-
+\n@bye"))))
(dump-node top-node out-port 0)
(newline (current-error-port))
-
-
-
-