X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdocumentation-generate.scm;h=94dbf27a240f4fae79c912ab5d88db4c113117fb;hb=bec6d0f547819d4003c5ce987f8fe589818e4712;hp=add5959e9185fddc3e312da53d0d84c5250db44f;hpb=f9190dbeef516bfa931447ba46bbae6eaa941c4e;p=lilypond.git diff --git a/scm/documentation-generate.scm b/scm/documentation-generate.scm index add5959e91..94dbf27a24 100644 --- a/scm/documentation-generate.scm +++ b/scm/documentation-generate.scm @@ -1,109 +1,165 @@ -;;; generate-documentation.scm -- Generate documentation -;;; -;;; source file of the GNU LilyPond music typesetter -;;; -;;; (c) 2000--2004 Han-Wen Nienhuys -;;; Jan Nieuwenhuizen +;;;; generate-documentation.scm -- Generate documentation +;;;; +;;;; source file of the GNU LilyPond music typesetter +;;;; +;;;; (c) 2000--2007 Han-Wen Nienhuys +;;;; Jan Nieuwenhuizen ;;; 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 + +(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")) -(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) +;;(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))) -;;(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) +(call-with-output-file "markup-list-commands.tely" + (lambda (port) + (dump-node (markup-list-doc-node) port 2 #t))) + +(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} -@cindex \\NAME\\ +@macro glossaryref{TEXT} +@vindex \\TEXT\\ +@ref{\\TEXT\\,,,music-glossary-big-page,Music Glossary} @end macro -@end ifinfo -@ifhtml -@macro glossaryref{NAME} -@uref{../music-glossary/\\NAME\\.html,\\NAME\\} +@end ifset + +@ifclear bigpage + +@macro ruser{NAME} +@ref{\\NAME\\,,,lilypond} @cindex \\NAME\\ @end macro -@end ifhtml -@ifinfo @macro glossaryref{NAME} -@inforef{\\NAME\\,,music-glossary} +@ref{\\NAME\\,,,music-glossary} @cindex \\NAME\\ @end macro -@end ifinfo - -@macro internalsref{NAME} -@ref{\\NAME\\} -@end macro - -@ifhtml +@end ifclear @macro inputfileref{DIR,NAME} -@uref{../../../../\\DIR\\/out-www/collated-files.html#\\NAME\\,@file{\\DIR\\/\\NAME\\}}@c +@uref{source/\\DIR\\/out-www/collated-files.html#\\NAME\\,@file{\\DIR\\/\\NAME\\}}@c @end macro +@macro q{TEXT} +@html +‘\\TEXT\\’ +@end html +@end macro @end ifhtml + @ifinfo +@c ***** info ***** + +@macro ruser{NAME} +@inforef{\\NAME\\,,,lilypond} +@cindex \\NAME\\ +@end macro + +@macro glossaryref{NAME} +@inforef{\\NAME\\,,lilypond/music-glossary} +@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 @@ -115,64 +171,35 @@ @end ignore -") out-port) +") + out-port) (define top-node (make #: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 - #: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)) - - -(dump-node (all-scheme-functions-doc) - (open-output-file "scheme-functions.tely") - 2) - -(dump-node - (make - #: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) - -(dump-node - (make - #: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) - -