]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/documentation-generate.scm
Fix `make install', and fix #812
[lilypond.git] / scm / documentation-generate.scm
index e90b5868923c4883edd2ecc532f815b9aa542c6c..04b0a599426c6db713491b2d1056910cf4f8d0cf 100644 (file)
-;;; 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
-
-(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)
-
-
-;;(define no-copies #t)  ; from 490 to 410K, but doesn't look nice yet
-;;
-;; Also, copies of interfaces use up lots more space, but that's
-;; functional because the default property values of the interfaces
-;; are described...
-(define no-copies #f)
-
-
-
-
-
-
-
+;; todo: naming: grob vs. layout property
 
+(map ly:load '("documentation-lib.scm"
+              "document-functions.scm"
+              "document-translation.scm"
+              "document-music.scm"
+              "document-identifiers.scm"
+              "document-backend.scm"
+              "document-markup.scm"))
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
+(display
+ (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)))
 
-(dump-node (all-scheme-functions-doc)
-          (open-output-file "scheme-functions.tely")
-          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"))
 
-(dump-node
- (make <texi-node>
-   #:name "Layout property overview"
-   #:desc "All user serviceable layout properties"
-   #:text (backend-properties-doc-string all-user-grob-properties))
 
- (open-output-file "layout-properties.tely")
- 2)
+(display
+ (backend-properties-doc-string all-user-grob-properties)
+ (open-output-file "layout-properties.tely"))
 
-(dump-node
- (make <texi-node>
-   #:name "Context property overview"
-   #:desc "All user serviceable context properties"
-   #:text (translation-properties-doc-string all-user-translation-properties))
- (open-output-file "context-properties.tely")
- 2)
+(display
+ (translation-properties-doc-string all-user-translation-properties)
+ (open-output-file "context-properties.tely"))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-
 (define file-name "lilypond-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 program-reference" file-name
+                 "(lilypond/lilypond-internals.info)")
   "
 
-@ifhtml
-@macro usermanref{NAME}
-@uref{../lilypond/\\NAME\\.html,\\NAME\\}
-@cindex \\NAME\\
-@end macro
-@end ifhtml
-
-@ifinfo
-@macro usermanref{NAME}
-@inforef{\\NAME\\,,lilypond}
-@cindex \\NAME\\
-@end macro
-@end ifinfo
-
-@ifhtml
-@macro glossaryref{NAME}
-@uref{../music-glossary/\\NAME\\.html,\\NAME\\}
-@cindex \\NAME\\
-@end macro
-@end ifhtml
-
-@ifinfo
-@macro glossaryref{NAME}
-@inforef{\\NAME\\,,music-glossary}
-@cindex \\NAME\\
-@end macro
-@end ifinfo
-
-
-@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
-
-@ifinfo
-
-@macro inputfileref{DIR,NAME}
-@file{\\DIR\\/\\NAME\\}
-@end macro
-
-@end ifinfo
-
-@iftex
-@macro inputfileref{DIR,NAME}@c
-@file{\\DIR\\/\\NAME\\}@c
-@end macro
-@end iftex
-
-
+@include macros.itexi
 
 @ignore
 @omftitle LilyPond internals
 @omfcategory Applications|Publishing
 @end ignore
 
+@iftex
+@afourpaper
+@c don't replace quotes with directed quotes
+@tex
+\\gdef\\SETtxicodequoteundirected{Foo}
+\\gdef\\SETtxicodequotebacktick{Bla}
+@end tex
+@end iftex
+
+@finalout
+
+@titlepage
+@title LilyPond
+@subtitle The music typesetter
+@titlefont{Internals Reference}
+@author The LilyPond development team
+
+Copyright @copyright{} 1999--2009 by the authors
 
-") out-port)
+@vskip 20pt
+
+For LilyPond version @version{}
+@end titlepage
+
+@contents
+
+@ifnottex")
+ out-port)
 
 (define top-node
   (make <texi-node>
-    #:name "Top"
+    #:name "GNU LilyPond -- Internals Reference"
+    #:text
+    (string-append  "@end ifnottex
+
+@ifhtml
+@ifclear bigpage
+This document is also available as a
+@uref{source/Documentation/user/lilypond-internals.pdf,PDF} and as
+@uref{source/Documentation/user/lilypond-internals-big-page.html,one big page}.
+@end ifclear
+@ifset bigpage
+This document is also available as a
+@uref{source/Documentation/user/lilypond-internals.pdf,PDF} and as a
+@uref{source/Documentation/user/lilypond-internals/index.html,HTML indexed multiple pages}.
+@end ifset
+@end ifhtml
+
+This is the Internals Reference (IR) for version "
+                   (lilypond-version)
+                   " of LilyPond, the GNU music typesetter.")
+
     #: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))
-
-
-
-