X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdocumentation-generate.scm;h=b1d9fcda2ddac42f8128b880f5d34bf15982f91f;hb=e90f0536f9be39ada0bef0aeb0d275dec3b2fb5b;hp=d137ae1b1d27456d167725fff8e3c4ec6967415b;hpb=30d0e11afbac6e226c1af278f68b8f24d63f639f;p=lilypond.git diff --git a/scm/documentation-generate.scm b/scm/documentation-generate.scm index d137ae1b1d..b1d9fcda2d 100644 --- a/scm/documentation-generate.scm +++ b/scm/documentation-generate.scm @@ -1,9 +1,20 @@ -;;;; generate-documentation.scm -- Generate documentation +;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; source file of the GNU LilyPond music typesetter -;;;; -;;;; (c) 2000--2007 Han-Wen Nienhuys +;;;; Copyright (C) 2000--2011 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 @@ -17,9 +28,11 @@ ;; 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")) @@ -30,15 +43,32 @@ (slot-ref (all-scheme-functions-doc) 'text) (open-output-file "scheme-functions.tely")) -(display - (markup-doc-string) +;;(display +;; (markup-doc-string) +;; (open-output-file "markup-commands.tely")) + +(display + ;; ugly hack to remove the @node... @appendixsec... portion + (substring + (call-with-output-string + (lambda (port) + (dump-node (markup-doc-node) port 2))) + ;; magic number to remove the initial part. 63 comes from: + ;; "\nnode Text markup commands\n@appendixsec Text markup commands\n\n\n\n" + ;; which is generated by (dump-node...) in documentation-lib.scm + 63 + ) (open-output-file "markup-commands.tely")) -(display +(display (markup-list-doc-string) (open-output-file "markup-list-commands.tely")) -(display +(display + type-predicates-doc-string + (open-output-file "type-predicates.tely")) + +(display (identifiers-doc-string) (open-output-file "identifiers.tely")) @@ -53,7 +83,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(define file-name "lilypond-internals") +(define file-name "internals") (define outname (string-append file-name ".texi")) (define out-port (open-output-file outname)) @@ -62,100 +92,11 @@ (display (string-append - (texi-file-head "LilyPond program-reference" file-name - "(lilypond/lilypond-internals.info)") + (texi-file-head "LilyPond Internals Reference" file-name + "(lilypond-internals.info)") " -@c NOTE: This is documentation-generate.scm, not macros.itexi - - -@ifhtml -@c ***** HTML ***** - -@ifset bigpage - -@macro ruser{TEXT} -@ref{\\TEXT\\,,,lilypond-big-page,Notation Reference} -@cindex \\TEXT\\ -@end macro - -@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} -@cindex \\NAME\\ -@end macro - -@macro glossaryref{NAME} -@ref{\\NAME\\,,,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 -‘\\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 internalsref{NAME} -@ref{\\NAME\\} -@end macro - +@include macros.itexi @ignore @omftitle LilyPond internals @@ -166,15 +107,51 @@ @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--2011 by the authors + +@vskip 20pt + +For LilyPond version @version{} +@end titlepage + +@contents + +@ifnottex") out-port) (define top-node (make - #:name "Top" - #:text - (string-append "This is the program reference for version " + #: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.") @@ -185,13 +162,14 @@ (backend-doc-node) (all-scheme-functions-doc) (make - #:name "Indexes" + #:appendix #t + #:name "Indices" #:text " -@unnumbered Concept index +@appendixsec Concept index @printindex cp -@unnumbered Function index +@appendixsec Function index @printindex fn