diff --git a/collects/scribble/html-render.ss b/collects/scribble/html-render.ss
index 792421be..b189e57d 100644
--- a/collects/scribble/html-render.ss
+++ b/collects/scribble/html-render.ss
@@ -554,12 +554,13 @@
(values prev (and (pair? (cdr l)) (cadr l)))
(loop (cdr l) (car l))))))
+ (define top-content '("top"))
(define contents-content '("contents"))
- (define index-content '("index"))
- (define prev-content '(larr " prev"))
- (define up-content '("up"))
- (define next-content '("next " rarr))
- (define sep-element (make-element #f '(nbsp nbsp)))
+ (define index-content '("index"))
+ (define prev-content '(larr " prev"))
+ (define up-content '("up"))
+ (define next-content '("next " rarr))
+ (define sep-element (make-element #f '(nbsp nbsp)))
(define/public (derive-filename d) "bad.html")
@@ -611,63 +612,62 @@
(make-with-attributes #f
`([title . ,(if title* (string-append label " to " title*) label)]
,@more))))
- (define (navbar)
+ (define top-link
+ (titled-url
+ "up" "../index.html"
+ `[onclick . ,(format "return GotoPLTRoot(\"~a\");" (version))]))
+ (define navleft
+ `(span ([class "navleft"])
+ ,(search-box)
+ nbsp
+ ,@(render (make-element (if up-path top-link "nonavigation")
+ top-content))
+ nbsp
+ ,@(render (make-element
+ (if parent
+ (make-target-url "index.html" #f)
+ "nonavigation")
+ contents-content))
+ nbsp
+ ,@(render (if (or (not index) (eq? d index))
+ (make-element "nonavigation" index-content)
+ (make-link-element
+ #f index-content (car (part-tags index)))))))
+ (define navright
+ `(span ([class "navright"])
+ ,@(render
+ (make-element
+ (cond [(not parent) "nonavigation"]
+ [prev (titled-url "backward" prev)]
+ [else (titled-url "backward" "index.html"
+ #:title-from
+ (and (part? parent) parent))])
+ prev-content)
+ sep-element
+ (make-element
+ (cond
+ [(and (part? parent) (toc-part? parent) (part-parent parent ri))
+ (titled-url "up" parent)]
+ [parent (titled-url "up" "index.html" #:title-from parent)]
+ ;; up-path = #t => go up to the start page, using
+ ;; cookies to get to the user's version of it (see
+ ;; scribblings/main/private/utils for the code that
+ ;; creates these cookies.)
+ [(eq? #t up-path) top-link]
+ [up-path (titled-url "up" up-path)]
+ [else "nonavigation"])
+ up-content)
+ sep-element
+ (make-element
+ (if next (titled-url "forward" next) "nonavigation")
+ next-content))))
+ (define navbar
`(div ([class "navset"]
[style ,(let ([v (if top? 'bottom 'top)])
(format "margin-~a: 2em; border-~a: ~a"
v v "2px solid #e0e0c0;"))])
- (span ([class "navleft"])
- ,@(render (make-element
- (if parent
- (make-target-url "index.html" #f)
- "nonavigation")
- contents-content))
- ,@(if index
- `(nbsp
- ,@(render (if (eq? d index)
- (make-element "nonavigation" index-content)
- (make-link-element
- #f index-content (car (part-tags index)))))
- #; ; no need for these index-local searches
- ,@(if (eq? d index)
- null
- `((span ([class "smaller"]) nbsp ,(search-index-box)))))
- null)
- ,@(if up-path `(nbsp ,(search-box)) null))
- (span ([class "navright"])
- ,@(render
- (make-element
- (cond [(not parent) "nonavigation"]
- [prev (titled-url "backward" prev)]
- [else (titled-url "backward" "index.html"
- #:title-from
- (and (part? parent) parent))])
- prev-content)
- sep-element
- (make-element
- (cond
- [(and (part? parent) (toc-part? parent)
- (part-parent parent ri))
- (titled-url "up" parent)]
- [parent (titled-url "up" "index.html" #:title-from parent)]
- ;; up-path = #t => go up to the start page, using
- ;; cookies to get to the user's version of it (see
- ;; scribblings/main/private/utils for the code that
- ;; creates these cookies.)
- [(eq? #t up-path)
- (titled-url
- "up" "../index.html"
- `[onclick
- . ,(format "return GotoPLTRoot(\"~a\");" (version))])]
- [up-path (titled-url "up" up-path)]
- [else "nonavigation"])
- up-content)
- sep-element
- (make-element
- (if next (titled-url "forward" next) "nonavigation")
- next-content)))
- nbsp)) ; needed to make the navset background visible
- (if (or prev next parent index up-path) (list (navbar)) null))
+ ,navleft ,navright nbsp)) ; need nbsp to make the navset bg visible
+ (list navbar))
(define/override (render-one d ri fn)
(render-one-part d ri fn null))