]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/documentation-generate.scm
Docs: reorganize documentation directory structure
[lilypond.git] / scm / documentation-generate.scm
index 255b460cbec15a73aef7647cc994789bb104ee3b..ac33f4f09dd4c9c17671566b228dc6d64f6ced30 100644 (file)
@@ -1,79 +1,77 @@
-;;; 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--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!
 ;;;;;;;;;;;;;;;;
 
-(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"
+              "lily-sort.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)))
+
+(call-with-output-file "markup-list-commands.tely"
+  (lambda (port)
+    (dump-node (markup-list-doc-node) port 2)))
 
+(display 
+ (identifiers-doc-string)
+ (open-output-file "identifiers.tely"))
 
-;;(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)
 
-(define file-name "lilypond-internals")
+(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 "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 internals" outname "(lilypond.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
-
-@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
-
+@include macros.itexi
 
 @ignore
 @omftitle LilyPond internals
 @omfcategory Applications|Publishing
 @end ignore
 
+@iftex
+@afourpaper
+@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
+
+@vskip 20pt
+
+For LilyPond version @version{}
+@end titlepage
+
+@contents
 
-") out-port)
+@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/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
+
+This is the Internals Reference (IR) 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"
+       #: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))