diff --git a/pkgs/racket-index/scribblings/main/config.rkt b/pkgs/racket-index/scribblings/main/config.rkt index 267561ac60..43702c2aed 100644 --- a/pkgs/racket-index/scribblings/main/config.rkt +++ b/pkgs/racket-index/scribblings/main/config.rkt @@ -13,7 +13,9 @@ ;; user-specific pages using cookies). (Note: the subpath must match ;; where the corresponding document is generated, this is a hack.) (define links - `((start "Racket Documentation" user "index.html") + `((root "Racket Documentation" user "index.html") + --- + (start "Manual List" user "start/index.html") (search "Search Manuals" user "search/index.html") --- (license "License" plt "license/index.html") diff --git a/pkgs/racket-index/scribblings/main/info.rkt b/pkgs/racket-index/scribblings/main/info.rkt index e1fd50aec2..f538cb5f43 100644 --- a/pkgs/racket-index/scribblings/main/info.rkt +++ b/pkgs/racket-index/scribblings/main/info.rkt @@ -1,8 +1,9 @@ #lang info (define scribblings - '(("start.scrbl" - (main-doc-root depends-all-main no-depend-on) (omit)) + '(("root.scrbl" (main-doc-root no-depend-on) (omit)) + ("start.scrbl" + (depends-all-main no-depend-on) (omit)) ("search.scrbl" (depends-all-main no-depend-on) (omit) "search" 1 10) ("local-redirect.scrbl" (depends-all-main no-depend-on) (omit) "local-redirect" 1 10) ("license.scrbl" () (omit)) diff --git a/pkgs/racket-index/scribblings/main/private/root.rkt b/pkgs/racket-index/scribblings/main/private/root.rkt new file mode 100644 index 0000000000..36688205ee --- /dev/null +++ b/pkgs/racket-index/scribblings/main/private/root.rkt @@ -0,0 +1,30 @@ +#lang at-exp racket/base +(require scribble/core + scribble/decode + scribble/manual) + +(define h bold) + +(define (root global?) + (make-splice + @list{@h{Are you looking for a Racket tutorial?} + + If you are new to programming, try looking at @other-doc['(lib "scribblings/quick/quick.scrbl")]. Otherwise, you may be interested in @other-doc['(lib "scribblings/more/more.scrbl")]. + + @h{Are you looking for a quick cheat sheet on Racket?} + + This is not the page you are looking for. The @other-doc['(lib "racket-cheat/racket-cheat.scrbl")] is the page you are looking for. + + @h{Are you looking for the complete reference for Racket and its standard library?} + + @other-doc['(lib "scribblings/reference/reference.scrbl")] is an exhaustive reference and @other-doc['(lib "scribblings/guide/guide.scrbl")] is a more casual introduction through applications. + + @h{Are you looking for a list of the manuals of the libraries available on this system?} + + The @other-doc[(if global? '(lib "scribblings/main/start.scrbl") '(lib "scribblings/main/user/user-start.scrbl"))] contains categorized links to everything you have installed. + + @h{Can't find what you are looking for locally?} + + The online @link["http://pkg-build.racket-lang.org/doc/start/index.html"]{Manual List} contains categorized documentation all packages indexed on @link["http://pkgs.racket-lang.org"]{@tt{http://pkgs.racket-lang.org}}. If you can't find something you need on your system, try looking there.})) + +(provide root) diff --git a/pkgs/racket-index/scribblings/main/root.scrbl b/pkgs/racket-index/scribblings/main/root.scrbl new file mode 100644 index 0000000000..49fbfd7668 --- /dev/null +++ b/pkgs/racket-index/scribblings/main/root.scrbl @@ -0,0 +1,10 @@ +#lang scribble/doc +@(require scribble/manual + scribble/core + scribble/html-properties + "private/utils.rkt" + "private/root.rkt") + +@main-page['root #t #:show-root-info? #t] + +@root[#t] diff --git a/pkgs/racket-index/scribblings/main/user/info.rkt b/pkgs/racket-index/scribblings/main/user/info.rkt index 850a154d67..bad57a4809 100644 --- a/pkgs/racket-index/scribblings/main/user/info.rkt +++ b/pkgs/racket-index/scribblings/main/user/info.rkt @@ -1,7 +1,8 @@ #lang info (define scribblings - '(("start.scrbl" (user-doc-root depends-all no-depend-on) (omit)) + '(("root.scrbl" (user-doc-root no-depend-on) (omit)) + ("user-start.scrbl" (depends-all no-depend-on) (omit)) ("search.scrbl" (user-doc depends-all-user no-depend-on) (omit)) ("local-redirect.scrbl" (user-doc depends-all-user no-depend-on) (omit)) ("release.scrbl" (user-doc depends-all no-depend-on) (omit)))) diff --git a/pkgs/racket-index/scribblings/main/user/root.scrbl b/pkgs/racket-index/scribblings/main/user/root.scrbl new file mode 100644 index 0000000000..96f4f03cc8 --- /dev/null +++ b/pkgs/racket-index/scribblings/main/user/root.scrbl @@ -0,0 +1,10 @@ +#lang scribble/doc +@(require scribble/manual + scribble/core + scribble/html-properties + "../private/utils.rkt" + "../private/root.rkt") + +@main-page['root #f] + +@root[#f] diff --git a/pkgs/racket-index/scribblings/main/user/start.scrbl b/pkgs/racket-index/scribblings/main/user/user-start.scrbl similarity index 100% rename from pkgs/racket-index/scribblings/main/user/start.scrbl rename to pkgs/racket-index/scribblings/main/user/user-start.scrbl diff --git a/pkgs/racket-index/setup/scribble.rkt b/pkgs/racket-index/setup/scribble.rkt index 7026b98f1f..bfc842c030 100644 --- a/pkgs/racket-index/setup/scribble.rkt +++ b/pkgs/racket-index/setup/scribble.rkt @@ -1113,9 +1113,14 @@ with-record-error setup-printf workerid #f #f lock) doc))]) - (let ([v-in (load-sxref info-in-file)]) - (unless (equal? (car v-in) (list vers (doc-flags doc))) - (error "old info has wrong version or flags")) + (let ([v-in (load-sxref info-in-file)] + [should-be (list vers (doc-flags doc))]) + (unless (equal? (car v-in) should-be) + (error 'scribble + "old info(~e) has wrong version or flags: ~e should be ~e" + info-in-file + (car v-in) + should-be)) (when (and (or (not provides-time) (provides-time . < . info-out-time)) (can-build? only-dirs doc)) @@ -1169,9 +1174,15 @@ [out-vs (and info-out-time (with-handlers ([exn:fail? (lambda (exn) #f)]) (for/list ([info-out-file info-out-files]) - (let ([v (load-sxref info-out-file)]) - (unless (equal? (car v) (list vers (doc-flags doc))) - (error "old info has wrong version or flags")) + (let ([v (load-sxref info-out-file)] + [should-be (list vers (doc-flags doc))]) + (unless (equal? (car v) + should-be) + (error 'scribble + "old info(~e) has wrong version or flags: ~e should be ~e" + info-out-file + (car v) + should-be)) v))))] [scis (send renderer serialize-infos ri (add1 (doc-out-count doc)) v)] [defss (send renderer get-defineds ci (add1 (doc-out-count doc)) v)] @@ -1380,7 +1391,10 @@ (equal? in-version2 expected) (for/and ([out-version out-versions]) (equal? out-version expected))) - (error "old info has wrong version or flags")) + (error 'scribble "old info(~e) has wrong version or flags: ~e should all be ~e" + in-filename + (list* in-version in-version2 out-versions) + expected)) (match (with-my-namespace (lambda () (deserialize undef+searches)))