sgl docs
svn: r9362 original commit: 82c212625b41758f99920900d0477d37b4414504
This commit is contained in:
parent
829f905ac9
commit
6a20d8c2fa
|
@ -407,31 +407,35 @@
|
||||||
|
|
||||||
;; ----------------------------------------
|
;; ----------------------------------------
|
||||||
|
|
||||||
(define/private (do-table-of-contents part ri delta quiet)
|
(define/private (do-table-of-contents part ri delta quiet depth)
|
||||||
(make-table #f (generate-toc part
|
(make-table #f (generate-toc part
|
||||||
ri
|
ri
|
||||||
(+ delta
|
(+ delta
|
||||||
(length (collected-info-number
|
(length (collected-info-number
|
||||||
(part-collected-info part ri))))
|
(part-collected-info part ri))))
|
||||||
#t
|
#t
|
||||||
quiet)))
|
quiet
|
||||||
|
depth)))
|
||||||
|
|
||||||
(define/public (table-of-contents part ri)
|
(define/public (table-of-contents part ri)
|
||||||
(do-table-of-contents part ri -1 not))
|
(do-table-of-contents part ri -1 not +inf.0))
|
||||||
|
|
||||||
(define/public (local-table-of-contents part ri)
|
(define/public (local-table-of-contents part ri style)
|
||||||
(table-of-contents part ri))
|
(do-table-of-contents part ri -1 not (if (eq? style 'immediate-only)
|
||||||
|
1
|
||||||
|
+inf.0)))
|
||||||
|
|
||||||
(define/public (quiet-table-of-contents part ri)
|
(define/public (quiet-table-of-contents part ri)
|
||||||
(do-table-of-contents part ri 1 (lambda (x) #t)))
|
(do-table-of-contents part ri 1 (lambda (x) #t) +inf.0))
|
||||||
|
|
||||||
(define/private (generate-toc part ri base-len skip? quiet)
|
(define/private (generate-toc part ri base-len skip? quiet depth)
|
||||||
(let* ([number (collected-info-number (part-collected-info part ri))]
|
(let* ([number (collected-info-number (part-collected-info part ri))]
|
||||||
[subs
|
[subs
|
||||||
(if (quiet (and (part-style? part 'quiet)
|
(if (and (quiet (and (part-style? part 'quiet)
|
||||||
(not (= base-len (sub1 (length number))))))
|
(not (= base-len (sub1 (length number))))))
|
||||||
|
(positive? depth))
|
||||||
(apply append (map (lambda (p)
|
(apply append (map (lambda (p)
|
||||||
(generate-toc p ri base-len #f quiet))
|
(generate-toc p ri base-len #f quiet (sub1 depth)))
|
||||||
(part-parts part)))
|
(part-parts part)))
|
||||||
null)])
|
null)])
|
||||||
(if skip?
|
(if skip?
|
||||||
|
|
|
@ -170,13 +170,13 @@
|
||||||
(define (clean-up s)
|
(define (clean-up s)
|
||||||
;; Remove leading spaces, which might appear there due to images or something
|
;; Remove leading spaces, which might appear there due to images or something
|
||||||
;; else that gets dropped in string form.
|
;; else that gets dropped in string form.
|
||||||
(regexp-replace* #rx"^ +" s ""))
|
(regexp-replace #rx"^ +" s ""))
|
||||||
|
|
||||||
(define (record-index word-seq element-seq tag content)
|
(define (record-index word-seq element-seq tag content)
|
||||||
(make-index-element #f
|
(make-index-element #f
|
||||||
(list (make-target-element #f content `(idx ,tag)))
|
(list (make-target-element #f content `(idx ,tag)))
|
||||||
`(idx ,tag)
|
`(idx ,tag)
|
||||||
(map clean-up word-seq)
|
word-seq
|
||||||
element-seq
|
element-seq
|
||||||
#f))
|
#f))
|
||||||
|
|
||||||
|
@ -191,7 +191,7 @@
|
||||||
(define (as-index . s)
|
(define (as-index . s)
|
||||||
(let ([key (make-generated-tag)]
|
(let ([key (make-generated-tag)]
|
||||||
[content (decode-content s)])
|
[content (decode-content s)])
|
||||||
(record-index (list (content->string content))
|
(record-index (list (clean-up (content->string content)))
|
||||||
(if (= 1 (length content))
|
(if (= 1 (length content))
|
||||||
content
|
content
|
||||||
(list (make-element #f content)))
|
(list (make-element #f content)))
|
||||||
|
@ -294,7 +294,7 @@
|
||||||
(lambda (renderer part ri)
|
(lambda (renderer part ri)
|
||||||
(send renderer table-of-contents part ri))))
|
(send renderer table-of-contents part ri))))
|
||||||
|
|
||||||
(define (local-table-of-contents)
|
(define (local-table-of-contents #:style [style #f])
|
||||||
(make-delayed-block
|
(make-delayed-block
|
||||||
(lambda (renderer part ri)
|
(lambda (renderer part ri)
|
||||||
(send renderer local-table-of-contents part ri))))
|
(send renderer local-table-of-contents part ri style))))
|
||||||
|
|
|
@ -89,7 +89,7 @@
|
||||||
(cons (make-index-element
|
(cons (make-index-element
|
||||||
#f null (car tags)
|
#f null (car tags)
|
||||||
(list (regexp-replace
|
(list (regexp-replace
|
||||||
#px"^(?:A|An|The)\\s" (content->string title) ""))
|
#px"^\\s+(?:(?:A|An|The)\\s)?" (content->string title) ""))
|
||||||
(list (make-element #f title))
|
(list (make-element #f title))
|
||||||
(make-part-index-desc))
|
(make-part-index-desc))
|
||||||
l)
|
l)
|
||||||
|
|
|
@ -889,7 +889,7 @@
|
||||||
(cond
|
(cond
|
||||||
[(string? i)
|
[(string? i)
|
||||||
(let ([m (and (extra-breaking?)
|
(let ([m (and (extra-breaking?)
|
||||||
(regexp-match-positions #rx"[-:/+]" i))])
|
(regexp-match-positions #rx"[-:/+_]|[a-z](?=[A-Z])" i))])
|
||||||
(if m
|
(if m
|
||||||
(list* (substring i 0 (cdar m))
|
(list* (substring i 0 (cdar m))
|
||||||
;; Most browsers wrap after a hyphen. The
|
;; Most browsers wrap after a hyphen. The
|
||||||
|
|
|
@ -382,7 +382,7 @@
|
||||||
;; FIXME: isn't local to the section
|
;; FIXME: isn't local to the section
|
||||||
(make-toc-paragraph null))
|
(make-toc-paragraph null))
|
||||||
|
|
||||||
(define/override (local-table-of-contents part ri)
|
(define/override (local-table-of-contents part ri style)
|
||||||
(make-paragraph null))
|
(make-paragraph null))
|
||||||
|
|
||||||
;; ----------------------------------------
|
;; ----------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue
Block a user