]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/documentation-generate.scm
Merge branch 'master' into dev/texi2html
[lilypond.git] / scm / documentation-generate.scm
index 9ed6556f74ecbade971418140c6cb7da798310bd..975ef1f9627c47d7babc9341988e6265a9ce64ab 100644 (file)
-;;; generate-documentation.scm -- Generate documentation
-;;;
-;;; source file of the GNU LilyPond music typesetter
-;;; 
-;;; (c)  2000--2003 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--2007 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!
 ;;;;;;;;;;;;;;;;
 
-(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)
+;; 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 #t)))
 
+(call-with-output-file "markup-list-commands.tely"
+  (lambda (port)
+    (dump-node (markup-list-doc-node) port 2 #t)))
 
-;;(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)
+(display 
+ (identifiers-doc-string)
+ (open-output-file "identifiers.tely"))
+
+
+(display
+ (backend-properties-doc-string all-user-grob-properties)
+ (open-output-file "layout-properties.tely"))
+
+(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
-  "@c -*-texinfo-*-"
-  (texi-file-head "LilyPond program-reference" outname "(lilypond-internals.info)")
+  (texi-file-head "LilyPond program-reference" file-name
+                 "(lilypond/lilypond-internals.info)")
   "
 
+@c NOTE: This is documentation-generate.scm, not macros.itexi
+
+
 @ifhtml
-@macro usermanref{NAME}
-@uref{../lilypond/\\NAME\\.html,\\NAME\\}
-@cindex \\NAME\\
+@c ***** HTML *****
+
+@ifset bigpage
+
+@macro ruser{TEXT}
+@ref{\\TEXT\\,,,lilypond-big-page,Notation Reference}
+@cindex \\TEXT\\
 @end macro
-@end ifhtml
 
-@ifinfo
-@macro usermanref{NAME}
-@inforef{\\NAME\\,,lilypond}
+@macro glossaryref{TEXT}
+@vindex \\TEXT\\
+@ref{\\TEXT\\,,,music-glossary-big-page,Music Glossary}
+@end macro
+
+@end ifset
+
+@ifclear bigpage
+
+@macro ruser{NAME}
+@ref{\\NAME\\,,,lilypond,Notation Reference}
 @cindex \\NAME\\
 @end macro
-@end ifinfo
 
-@ifhtml
 @macro glossaryref{NAME}
-@uref{../music-glossary/\\NAME\\.html,\\NAME\\}
+@ref{\\NAME\\,,,music-glossary,Music Glossary}
 @cindex \\NAME\\
 @end macro
+
+@end ifclear
+
+@macro inputfileref{DIR,NAME}
+@uref{source/\\DIR\\/out-www/collated-files.html#\\NAME\\,@file{\\DIR\\/\\NAME\\}}@c
+@end macro
+
+@macro q{TEXT}
+@html
+&lsquo;\\TEXT\\&rsquo;
+@end html
+@end macro
 @end ifhtml
 
+
 @ifinfo
-@macro glossaryref{NAME}
-@inforef{\\NAME\\,,music-glossary}
+@c ***** info *****
+
+@macro ruser{NAME}
+@ref{\\NAME\\,,,lilypond}
 @cindex \\NAME\\
 @end macro
+
+@macro inputfileref{DIR,NAME}
+@file{\\DIR\\/\\NAME\\}
+@end macro
+
+@macro q{TEXT}
+`\\TEXT\\'
+@end macro
 @end ifinfo
 
 
+@iftex
+@c ***** TeX *****
+
+@macro ruser{NAME}
+@ref{\\NAME\\}@c
+@end macro
+
+@macro inputfileref{DIR,NAME}@c
+@file{\\DIR\\/\\NAME\\}@c
+@end macro
+
+@macro q{TEXT}
+`\\TEXT\\'
+@end macro
+@end iftex
+
+
+@macro rinternals{NAME}
+@ref{\\NAME\\}
+@end macro
+
+
 @ignore
 @omftitle LilyPond internals
 @omfcreator Han-Wen Nienhuys and Jan Nieuwenhuizen
 @omfcategory Applications|Publishing
 @end ignore
 
-
-") out-port)
+@contents
+")
+ out-port)
 
 (define top-node
   (make <texi-node>
     #:name "Top"
+    #:text 
+    (string-append  "This is the program reference for version "
+                   (lilypond-version)
+                   " of LilyPond, the GNU music typesetter.")
+
     #:children
     (list
      (music-doc-node)
      (translation-doc-node)
      (backend-doc-node)
      (all-scheme-functions-doc)
-     (markup-doc-node)
      (make <texi-node>
-       #:name "Index"
+       #:name "Indexes"
        #:text "
 @unnumbered Concept index
 
 @printindex cp
 
-@unnumbered Variable index
-
-@printindex vr
-
 @unnumbered Function index
 
 @printindex fn
 
-\n@bye"
-
-       
-     )
-    )))
-
+\n@bye"))))
 
 (dump-node top-node out-port 0)
 (newline (current-error-port))