X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdocumentation-generate.scm;h=0e6cfe32bed7fd64a75b2a3bc497e9e47f12ea96;hb=95bcbed80fc123c902728ffed8d48e82b8ba9bb1;hp=d04f5c7e8dfc9cf03466d218db049c3bb68e7081;hpb=ed8702ba953fe9dd62927c6312b36b369f022f93;p=lilypond.git diff --git a/scm/documentation-generate.scm b/scm/documentation-generate.scm index d04f5c7e8d..0e6cfe32be 100644 --- a/scm/documentation-generate.scm +++ b/scm/documentation-generate.scm @@ -1,159 +1,93 @@ -;;; generate-documentation.scm -- Generate documentation -;;; -;;; source file of the GNU LilyPond music typesetter -;;; -;;; (c) 2000--2004 Han-Wen Nienhuys -;;; Jan Nieuwenhuizen +;;;; This file is part of LilyPond, the GNU music typesetter. +;;;; +;;;; Copyright (C) 2000--2010 Han-Wen Nienhuys +;;;; Jan Nieuwenhuizen +;;;; +;;;; LilyPond is free software: you can redistribute it and/or modify +;;;; it under the terms of the GNU General Public License as published by +;;;; the Free Software Foundation, either version 3 of the License, or +;;;; (at your option) any later version. +;;;; +;;;; LilyPond is distributed in the hope that it will be useful, +;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;;; GNU General Public License for more details. +;;;; +;;;; You should have received a copy of the GNU General Public License +;;;; along with LilyPond. If not, see . ;;; 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" + "lily-sort.scm" + "document-functions.scm" + "document-translation.scm" + "document-music.scm" + "document-type-predicates.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) +(display + type-predicates-doc-string + (open-output-file "type-predicates.tely")) - (open-output-file "markup-commands.tely") - ) +(display + (identifiers-doc-string) + (open-output-file "identifiers.tely")) -(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) +(display + (backend-properties-doc-string all-user-grob-properties) + (open-output-file "layout-properties.tely")) -(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) +(display + (translation-properties-doc-string all-user-translation-properties) + (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 - "@c -*-texinfo-*-" - (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 - -@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 @@ -164,12 +98,54 @@ @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 + +@c `Internals Reference' was born 2000-10-21 with git commit 01e371f... +Copyright @copyright{} 2000--2010 by the authors -") out-port) +@vskip 20pt + +For LilyPond version @version{} +@end titlepage + +@contents + +@ifnottex") + out-port) (define top-node (make - #: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) @@ -177,30 +153,18 @@ (backend-doc-node) (all-scheme-functions-doc) (make - #: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)) - - - -