From: Han-Wen Nienhuys Date: Tue, 1 Oct 2002 21:55:27 +0000 (+0000) Subject: (interface-doc-string): X-Git-Tag: release/1.7.2~11 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=9430c2422e636ee89b7a5c08fe0739010b5aaf29;p=lilypond.git (interface-doc-string): crosslinks between interfaces and grobs. Headings for interfaces in grob explanation. --- diff --git a/ChangeLog b/ChangeLog index 0d63e4d971..79fd140ed7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2002-10-01 Han-Wen Nienhuys + + * scm/backend-documentation-lib.scm (interface-doc-string): + crosslinks between interfaces and grobs. Headings for interfaces + in grob explanation. + 2002-09-30 Jan Nieuwenhuizen * scm/to-xml.scm: Fixes. input/trip.ly now parses as xml (without diff --git a/ly/generate-documentation.ly b/ly/generate-documentation.ly index b2a7bf3558..5068d8e3eb 100644 --- a/ly/generate-documentation.ly +++ b/ly/generate-documentation.ly @@ -3,4 +3,5 @@ % % Running LilyPond on this file generates the documentation % +#(ly-set-parse-protect #f) #(load-from-path "generate-documentation.scm") diff --git a/scm/backend-documentation-lib.scm b/scm/backend-documentation-lib.scm index b731521b29..f5d730e269 100644 --- a/scm/backend-documentation-lib.scm +++ b/scm/backend-documentation-lib.scm @@ -42,16 +42,48 @@ Interfaces: (string-append desc + "\n\n" (description-list->texi propdocs)) )) +(define iface->grob-table (make-vector 61 '())) + +(map + (lambda (x) + (let* + ( + (metah (assoc 'meta (cdr x))) + (meta (cdr metah)) + (ifaces (cdr (assoc 'interfaces meta))) + ) + + (map (lambda (iface) + (hashq-set! + iface->grob-table iface + (cons (car x) + (hashq-ref iface->grob-table iface '()) + ))) + ifaces) + )) + all-grob-descriptions) + ;; First level Interface description (define (interface-doc interface) (let ((name (symbol->string (car interface)))) (make #:name name - #:text (interface-doc-string (cdr interface) #f)))) + #:text (string-append + (interface-doc-string (cdr interface) #f) + "\n\n" + "This grob interface is used in the following graphical objects: " + + (human-listify + (map ref-ify + (map symbol->string + (hashq-ref iface->grob-table (car interface) '() ))))) + + ))) (define (grob-doc description) (let* @@ -62,7 +94,16 @@ Interfaces: (name (cdr (assoc 'name meta))) (ifaces (map lookup-interface (cdr (assoc 'interfaces meta)))) (ifacedoc (map (lambda (iface) - (interface-doc-string iface description)) + (string-append +"@html +
+@end html + +@subsubheading " +(ref-ify (symbol->string (car iface))) + +"\n\n" + (interface-doc-string iface description))) (reverse ifaces))) (engravers (filter-list (lambda (x) (engraver-makes-grob? name x)) all-engravers-list)) diff --git a/scm/documentation-lib.scm b/scm/documentation-lib.scm index af8a0fbe82..7f82049339 100644 --- a/scm/documentation-lib.scm +++ b/scm/documentation-lib.scm @@ -95,7 +95,7 @@ . string-to-use) " (string-append - "\n@table @samp\n" + "\n@table @asis\n" (apply string-append (map one-item->texi items-alist)) "\n@end table\n"))