diff --git a/doc/build.scm b/doc/build.scm index c3d61f837b..ca81d813a9 100644 --- a/doc/build.scm +++ b/doc/build.scm @@ -373,17 +373,26 @@ (define string-or-entity? (('*ENTITY* _ ...) #t) (_ #f))) + (define (worthy-entry? lst) + ;; Attempt to match: + ;; Scheme Variable: x + ;; but not: + ;; cups-configuration parameter: … + (let loop ((lst lst)) + (match lst + (((? string-or-entity?) rest ...) + (loop rest)) + ((('strong _ ...) _ ...) + #t) + (_ #f)))) + (let ((shtml (call-with-input-file file html->shtml))) (let loop ((shtml shtml) (vhash vhash)) (match shtml - ;; Attempt to match: - ;;
Scheme Variable: x
- ;; but not: - ;;
cups-configuration parameter: …
- (('dt ('@ ('id id)) - (? string-or-entity?) ... ('strong _ ...) _ ...) - (if (string-prefix? "index-" id) + (('dt ('@ ('id id)) rest ...) + (if (and (string-prefix? "index-" id) + (worthy-entry? rest)) (vhash-cons (anchor-id->key id) (string-append (basename file) "#" id)