From e8a22fada94b454b81df6ed8dc6d306296315eb6 Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Mon, 19 May 2008 18:34:31 +0000 Subject: [PATCH] move all "meta manuals" to a single place, plain title for user pages svn: r9895 --- collects/scribblings/acks/info.ss | 3 - collects/scribblings/license/info.ss | 3 - collects/scribblings/license/license.scrbl | 132 ------------ .../scribblings/{acks => main}/acks.scrbl | 5 +- collects/scribblings/main/config.ss | 20 ++ collects/scribblings/main/info.ss | 14 ++ collects/scribblings/main/license.scrbl | 148 ++++++++++++++ collects/scribblings/main/master-index.scrbl | 10 + .../scribblings/main/private/front-toc.ss | 39 ++++ collects/scribblings/main/private/manuals.ss | 115 +++++++++++ .../{release => main}/release.scrbl | 14 +- collects/scribblings/main/start.scrbl | 13 ++ .../user}/master-index.scrbl | 5 +- collects/scribblings/main/user/start.scrbl | 21 ++ collects/scribblings/master-index/info.ss | 3 - collects/scribblings/release/info.ss | 3 - collects/scribblings/start/info.ss | 4 - collects/scribblings/start/manuals.ss | 192 ------------------ collects/scribblings/start/start.scrbl | 14 -- .../scribblings/user-master-index/info.ss | 4 - .../user-master-index/master-index.scrbl | 8 - collects/scribblings/user-start/info.ss | 4 - .../scribblings/user-start/user-start.scrbl | 13 -- 23 files changed, 397 insertions(+), 390 deletions(-) delete mode 100644 collects/scribblings/acks/info.ss delete mode 100644 collects/scribblings/license/info.ss delete mode 100644 collects/scribblings/license/license.scrbl rename collects/scribblings/{acks => main}/acks.scrbl (60%) create mode 100644 collects/scribblings/main/config.ss create mode 100644 collects/scribblings/main/info.ss create mode 100644 collects/scribblings/main/license.scrbl create mode 100644 collects/scribblings/main/master-index.scrbl create mode 100644 collects/scribblings/main/private/front-toc.ss create mode 100644 collects/scribblings/main/private/manuals.ss rename collects/scribblings/{release => main}/release.scrbl (57%) create mode 100644 collects/scribblings/main/start.scrbl rename collects/scribblings/{master-index => main/user}/master-index.scrbl (53%) create mode 100644 collects/scribblings/main/user/start.scrbl delete mode 100644 collects/scribblings/master-index/info.ss delete mode 100644 collects/scribblings/release/info.ss delete mode 100644 collects/scribblings/start/info.ss delete mode 100644 collects/scribblings/start/manuals.ss delete mode 100644 collects/scribblings/start/start.scrbl delete mode 100644 collects/scribblings/user-master-index/info.ss delete mode 100644 collects/scribblings/user-master-index/master-index.scrbl delete mode 100644 collects/scribblings/user-start/info.ss delete mode 100644 collects/scribblings/user-start/user-start.scrbl diff --git a/collects/scribblings/acks/info.ss b/collects/scribblings/acks/info.ss deleted file mode 100644 index b325984ed4..0000000000 --- a/collects/scribblings/acks/info.ss +++ /dev/null @@ -1,3 +0,0 @@ -#lang setup/infotab - -(define scribblings '(("acks.scrbl" () (omit)))) diff --git a/collects/scribblings/license/info.ss b/collects/scribblings/license/info.ss deleted file mode 100644 index 995cf36c6b..0000000000 --- a/collects/scribblings/license/info.ss +++ /dev/null @@ -1,3 +0,0 @@ -#lang setup/infotab - -(define scribblings '(("license.scrbl" () (omit)))) diff --git a/collects/scribblings/license/license.scrbl b/collects/scribblings/license/license.scrbl deleted file mode 100644 index 58c88535d4..0000000000 --- a/collects/scribblings/license/license.scrbl +++ /dev/null @@ -1,132 +0,0 @@ -#lang scribble/doc -@(require scribble/manual) - -@(define (copyright . strs) - (verbatim (apply string-append - " " - (map (lambda (s) - (if (string=? s "\n") - "\n " - s)) - strs)))) - -@title{License} - -PLT software and documentation is distributed under the GNU Lesser -General Public License (LGPL). This means - -@itemize{ - - @item{You can link PLT software (such as MzScheme or MrEd) into - proprietary applications, provided you follow the specific - rules stated in the LGPL.} - - @item{You can modify PLT software. If you distribute a modified - version, you must distribute it under the terms of the LGPL, - which in particular means that you must release the source code - for the modified software.} - -} - -See @filepath{doc/release-notes/COPYING.LIB} in your PLT installation -for more information. - -@copyright{ -PLT Scheme -Copyright (c) 1995-2003 PLT -Copyright (c) 2004-2008 PLT Scheme Inc.} - -PLT software includes or extends the following copyrighted material: - -@copyright{ -DrScheme -Copyright (c) 1995-2003 PLT -Copyright (c) 2004-2008 PLT Scheme Inc. -All rights reserved.} - -@copyright{ -MrEd -Copyright (c) 1995-2003 PLT -Copyright (c) 2004-2008 PLT Scheme Inc. -All rights reserved.} - -@copyright{ -MzScheme -Copyright (c) 1995-2003 PLT -Copyright (c) 2004-2008 PLT Scheme Inc. -All rights reserved.} - -@copyright{ -libscheme -Copyright (c) 1994 Brent Benson -All rights reserved.} - -@copyright{ -wxWindows -Copyright (c) 1994 Artificial Intelligence Applications Institute, - The University of Edinburgh -All rights reserved.} - -@copyright{ -wxWindows Xt -Copyright (c) 1994 Artificial Intelligence Applications Institute, - The University of Edinburgh -Copyright (c) 1995 GNU (Markus Holzem) -All rights reserved.} - -@copyright{ -Conservative garbage collector -Copyright (c) 1988, 1989 Hans-J. Boehm, Alan J. Demers -Copyright (c) 1991-1996 Xerox Corporation -Copyright (c) 1996-1999 Silicon Graphics -Copyright (c) 1999-2001 by Hewlett-Packard Company -All rights reserved.} - -@copyright{ -Collector C++ extension by Jesse Hull and John Ellis -Copyright (c) 1994 Xerox Corporation -All rights reserved.} - -@copyright{ -The A List -Copyright (c) 1997-2000 Kyle Hammond. -All rights reserved.} - -@copyright{ -Independent JPEG Group library -Copyright (c) 1991-1998 Thomas G. Lane. -All rights reserved.} - -@copyright{ -libpng -Copyright (c) 2000-2002 Glenn Randers-Pehrson -All rights reserved.} - -@copyright{ -zlib -Copyright (c) 1995-2002 Jean-loup Gailly and Mark Adler -All rights reserved.} - -@copyright{ -GNU MP Library -Copyright (c) 1992, 1993, 1994, 1996 by Free Software - Foundation, Inc.} - -@copyright{ -GNU lightning -Copyright (c) 1994, 1995, 1996, 1999, 2000, 2001, 2002 - Free Software Foundation, Inc.} - -@copyright{ -GNU Classpath -GNU Public License with special exception} - -@copyright{ -Clanbomber icon -Everaldo Coelho -http://www.everaldo.com/} - -@copyright{ -Save icon -David Vignoni -http://icon-king.com/} \ No newline at end of file diff --git a/collects/scribblings/acks/acks.scrbl b/collects/scribblings/main/acks.scrbl similarity index 60% rename from collects/scribblings/acks/acks.scrbl rename to collects/scribblings/main/acks.scrbl index ac22920f56..6e753df1c1 100644 --- a/collects/scribblings/acks/acks.scrbl +++ b/collects/scribblings/main/acks.scrbl @@ -1,9 +1,12 @@ #lang scribble/doc @(require scribble/manual - drscheme/acks) + drscheme/acks + "private/front-toc.ss") @title{Acknowledgements} +@front-toc['acks] + @(get-general-acks) @(get-translating-acks) diff --git a/collects/scribblings/main/config.ss b/collects/scribblings/main/config.ss new file mode 100644 index 0000000000..7071504ac3 --- /dev/null +++ b/collects/scribblings/main/config.ss @@ -0,0 +1,20 @@ +#lang scheme/base + +(provide (all-defined-out)) + +;; Configuration of various parts of the main pages + +(define manual-sections + '((getting-started "Getting Started") + (language "Languages") + (tool "Tools") + (gui-library "GUI and Graphics Libraries") + (net-library "Network Libraries") + (parsing-library "Parsing Libraries") + (tool-library "Tool Libraries") + (foreign "Low-Level APIs") + (interop "Interoperability") + (library "Miscellaneous Libraries") + (experimental "Experimental Languages and Libraries") + (legacy "Legacy Languages and Libraries") + (other "Other"))) diff --git a/collects/scribblings/main/info.ss b/collects/scribblings/main/info.ss new file mode 100644 index 0000000000..280d52159e --- /dev/null +++ b/collects/scribblings/main/info.ss @@ -0,0 +1,14 @@ +#lang setup/infotab + +(define scribblings + '(("start.scrbl" + (main-doc-root always-run depends-all-main no-depend-on) (omit)) + ("user/start.scrbl" + (user-doc-root always-run depends-all no-depend-on) (omit)) + ("master-index.scrbl" + (depends-all-main no-depend-on) (omit)) + ("user/master-index.scrbl" + (user-doc depends-all no-depend-on) (omit)) + ("license.scrbl" () (omit)) + ("acks.scrbl" () (omit)) + ("release.scrbl" () (omit)))) diff --git a/collects/scribblings/main/license.scrbl b/collects/scribblings/main/license.scrbl new file mode 100644 index 0000000000..d600c64e56 --- /dev/null +++ b/collects/scribblings/main/license.scrbl @@ -0,0 +1,148 @@ +#lang scribble/doc +@(require scribble/manual + "private/front-toc.ss") + +@(define (copyright . strs) (apply verbatim #:indent 2 strs)) + +@front-toc['license] + +@title{License} + +PLT software and documentation is distributed under the GNU Lesser +General Public License (LGPL). This means + +@itemize{ + + @item{You can link PLT software (such as MzScheme or MrEd) into + proprietary applications, provided you follow the specific + rules stated in the LGPL.} + + @item{You can modify PLT software. If you distribute a modified + version, you must distribute it under the terms of the LGPL, + which in particular means that you must release the source code + for the modified software.} + +} + +See @filepath{doc/release-notes/COPYING.LIB} in your PLT installation +for more information. + +@copyright{ + PLT Scheme + Copyright (c) 1995-2003 PLT + Copyright (c) 2004-2008 PLT Scheme Inc. +} + +PLT software includes or extends the following copyrighted material: + +@copyright{ + DrScheme + Copyright (c) 1995-2003 PLT + Copyright (c) 2004-2008 PLT Scheme Inc. + All rights reserved. +} + +@copyright{ + MrEd + Copyright (c) 1995-2003 PLT + Copyright (c) 2004-2008 PLT Scheme Inc. + All rights reserved. +} + +@copyright{ + MzScheme + Copyright (c) 1995-2003 PLT + Copyright (c) 2004-2008 PLT Scheme Inc. + All rights reserved. +} + +@copyright{ + libscheme + Copyright (c) 1994 Brent Benson + All rights reserved. +} + +@copyright{ + wxWindows + Copyright (c) 1994 + Artificial Intelligence Applications Institute, + The University of Edinburgh + All rights reserved. +} + +@copyright{ + wxWindows Xt + Copyright (c) 1994 + Artificial Intelligence Applications Institute, + The University of Edinburgh + Copyright (c) 1995 GNU (Markus Holzem) + All rights reserved. +} + +@copyright{ + Conservative garbage collector + Copyright (c) 1988, 1989 Hans-J. Boehm, Alan J. Demers + Copyright (c) 1991-1996 Xerox Corporation + Copyright (c) 1996-1999 Silicon Graphics + Copyright (c) 1999-2001 by Hewlett-Packard Company + All rights reserved. +} + +@copyright{ + Collector C++ extension by Jesse Hull and John Ellis + Copyright (c) 1994 Xerox Corporation + All rights reserved. +} + +@copyright{ + The A List + Copyright (c) 1997-2000 Kyle Hammond. + All rights reserved. +} + +@copyright{ + Independent JPEG Group library + Copyright (c) 1991-1998 Thomas G. Lane. + All rights reserved. +} + +@copyright{ + libpng + Copyright (c) 2000-2002 Glenn Randers-Pehrson + All rights reserved. +} + +@copyright{ + zlib + Copyright (c) 1995-2002 Jean-loup Gailly and Mark Adler + All rights reserved. +} + +@copyright{ + GNU MP Library + Copyright (c) 1992, 1993, 1994, 1996 + Free Software Foundation, Inc. +} + +@copyright{ + GNU lightning + Copyright (c) 1994, 1995, 1996, 1999, 2000, 2001, 2002 + Free Software Foundation, Inc. +} + +@copyright{ + GNU Classpath + GNU Public License with special exception +} + +@copyright{ + Clanbomber icon + Everaldo Coelho + http://www.everaldo.com/ +} + +@copyright{ + Save icon + David Vignoni + http://icon-king.com/ +} diff --git a/collects/scribblings/main/master-index.scrbl b/collects/scribblings/main/master-index.scrbl new file mode 100644 index 0000000000..dc6d1d7f00 --- /dev/null +++ b/collects/scribblings/main/master-index.scrbl @@ -0,0 +1,10 @@ +#lang scribble/doc +@(require scribble/basic + scribble/decode + "private/front-toc.ss") + +@title{Master Index (installation)} + +@front-toc['index] + +@(make-splice (index-blocks)) diff --git a/collects/scribblings/main/private/front-toc.ss b/collects/scribblings/main/private/front-toc.ss new file mode 100644 index 0000000000..ffa49571b2 --- /dev/null +++ b/collects/scribblings/main/private/front-toc.ss @@ -0,0 +1,39 @@ +#lang scheme/base + +(require scribble/manual + scribble/struct + scribble/decode + setup/dirs) +(provide front-toc) + +(define bug-url "http://bugs.plt-scheme.org/") + +(define spacer + (make-toc-element #f null '(nbsp))) + +(define ((to-toc here) there target label) + (let* ([elt (make-element "tocsubseclink" (list label))] + [elt (if (eq? here there) elt (link target #:underline? #f elt))]) + (make-toc-element #f null (list elt)))) + +;; FIXME: Use this to avoid hard-wiring manual titles and paths below +(define (resolve s [f s]) + (resolved-module-path-name + (module-path-index-resolve + (module-path-index-join `(lib ,(format "scribblings/~a/~a.scrbl" s f)) + #f)))) + +(define (front-toc here) + (define docdir (let ([d (find-doc-dir)]) (lambda (p) (build-path d p)))) + (let ([to-toc (to-toc here)]) + (make-splice + (list (to-toc 'start "index.html" "PLT Manuals") + (to-toc 'search "search/index.html" "Search PLT Manuals") + spacer + (to-toc 'index "master-index/index.html" "Master Index") + spacer + (to-toc 'license (docdir "license/index.html") "License") + (to-toc 'acks (docdir "acks/index.html") "Acknowledgments") + (to-toc 'release (docdir "release/index.html") "Release Notes") + spacer + (to-toc #f (format "~a?v=~a" bug-url (version)) "Report a Bug"))))) diff --git a/collects/scribblings/main/private/manuals.ss b/collects/scribblings/main/private/manuals.ss new file mode 100644 index 0000000000..f4151b0a80 --- /dev/null +++ b/collects/scribblings/main/private/manuals.ss @@ -0,0 +1,115 @@ +#lang scheme/base + +(require scribble/manual + scribble/struct + scribble/decode + setup/getinfo + setup/main-collects + scheme/list + "front-toc.ss" + "../config.ss") + +(provide build-contents) + +(define-struct sec (cat label)) + +(define sections + (map (lambda (xs) (apply make-sec xs)) manual-sections)) + +(define (in-main-collects? dir) + (pair? (path->main-collects-relative dir))) + +(define (add-sections cat mk-sep l) + (if (null? l) + null + (let loop ([l l] [key (if (equal? "" (caddar l)) (caar l) +inf.0)]) + (cond [(null? l) null] + [(equal? (caar l) key) (cons (cadar l) (loop (cdr l) key))] + [else (let ([lbl (caddar l)] ; currently always "" + [l (cons (cadar l) (loop (cdr l) (caar l)))] + [sep? (not (= (truncate (/ key 10)) + (truncate (/ (caar l) 10))))]) + (if sep? (cons (mk-sep lbl) l) l))])))) + +(define (build-contents all?) + (let* ([dirs (find-relevant-directories '(scribblings))] + [infos (map get-info/full dirs)] + [docs (append-map + (lambda (i dir) + (define s (and (or all? (in-main-collects? dir)) + (i 'scribblings))) + (if (not s) + null + (filter-map + (lambda (d) + (if (and (not all?) + (pair? (cdr d)) + (or (memq 'user-doc (cadr d)) + (memq 'user-doc-root (cadr d)))) + #f + (let* ([new-cat (if ((length d) . > . 2) + (caddr d) + '(library))] + [sub-cat (and (list? new-cat) + ((length new-cat) . > . 1) + (cadr new-cat))]) + (list + ;; Category + (let ([the-cat + (if (pair? new-cat) (car new-cat) 'unknown)]) + (or (and (eq? the-cat 'omit) the-cat) + (ormap (lambda (sec) + (and (eq? the-cat (sec-cat sec)) + the-cat)) + sections) + 'library)) + ;; Priority + (if (and sub-cat (real? sub-cat)) sub-cat 0) + ;; Priority label (not used): + "" + ;; Path + (build-path dir (if (pair? d) (car d) "???")))))) + s))) + infos + dirs)] + [plain-line + (lambda content + (list (make-flow (list (make-paragraph content)))))] + [line + (lambda (doc) + (plain-line (hspace 2) (other-manual doc #:underline? #f)))]) + (make-splice + (list + (make-delayed-block + (lambda (renderer part resolve-info) + (make-table + #f + (cdr + (append-map + (lambda (sec) + (let ([docs (filter (lambda (doc) (eq? (car doc) (sec-cat sec))) + docs)]) + (list* + (plain-line (hspace 1)) + (plain-line (sec-label sec)) + (add-sections + (sec-cat sec) + (lambda (str) + (plain-line + (make-element (if (string=? str "") "sepspace" "septitle") + (list 'nbsp str)))) + (sort + (map (lambda (doc) + (list (cadr doc) (line (cadddr doc)) (caddr doc))) + docs) + (lambda (ad bd) + (if (= (car ad) (car bd)) + (let ([str (lambda (x) + (element->string + (cadr (paragraph-content + (car (flow-paragraphs (caadr x))))) + renderer part resolve-info))]) + (string-ci (car ad) (car bd))))))))) + sections))))) + (front-toc 'start))))) diff --git a/collects/scribblings/release/release.scrbl b/collects/scribblings/main/release.scrbl similarity index 57% rename from collects/scribblings/release/release.scrbl rename to collects/scribblings/main/release.scrbl index 49e4bc6f0e..de0517b8f4 100644 --- a/collects/scribblings/release/release.scrbl +++ b/collects/scribblings/main/release.scrbl @@ -1,22 +1,26 @@ #lang scribble/doc @(require scribble/manual - setup/dirs) + setup/dirs + "private/front-toc.ss") @(define (rl-link path . content) (apply link (apply build-path (find-doc-dir) "release-notes" path) content)) +@(define (mzport doc from to) + (rl-link (list "mzscheme" doc) (format "Porting from ~a to ~a" from to))) @title{Release Notes} +@front-toc['release] + @itemize[#:style "compact"]{ @item{@rl-link['("drscheme" "HISTORY.txt")]{DrScheme}} @item{@rl-link['("mzscheme" "HISTORY.txt")]{MzScheme} @itemize[#:style "compact"]{ - @item{@rl-link['("mzscheme" "MzScheme_4.txt")]{Porting from v3xx to v4.x}} - @item{@rl-link['("mzscheme" "MzScheme_300.txt")]{Porting from v2xx to v3xx}} - @item{@rl-link['("mzscheme" "MzScheme_200.txt")]{Porting from v1xx to v2xx}} - }} + @item{@mzport["MzScheme_4.txt" "v3xx" "v4.x"]} + @item{@mzport["MzScheme_300.txt" "v2xx" "v3xx"]} + @item{@mzport["MzScheme_200.txt" "v1xx" "v2xx"]}}} @item{@rl-link['("mred" "HISTORY.txt")]{MrEd}} @item{@rl-link['("stepper" "HISTORY.txt")]{Stepper}} diff --git a/collects/scribblings/main/start.scrbl b/collects/scribblings/main/start.scrbl new file mode 100644 index 0000000000..eff1a9c190 --- /dev/null +++ b/collects/scribblings/main/start.scrbl @@ -0,0 +1,13 @@ +#lang scribble/doc +@(require scribble/manual + scribble/struct + "private/manuals.ss") + +@title{PLT Scheme Documentation (installation)} + +@margin-note{This is an installation-specific listing. Running + @exec{plt-help} may open a different page with local and + user-specific documentation, including documentation for + installed @|PLaneT| packages.} + +@(build-contents #f) diff --git a/collects/scribblings/master-index/master-index.scrbl b/collects/scribblings/main/user/master-index.scrbl similarity index 53% rename from collects/scribblings/master-index/master-index.scrbl rename to collects/scribblings/main/user/master-index.scrbl index 42314eac19..b05e3c689b 100644 --- a/collects/scribblings/master-index/master-index.scrbl +++ b/collects/scribblings/main/user/master-index.scrbl @@ -1,7 +1,10 @@ #lang scribble/doc @(require scribble/basic - scribble/decode) + scribble/decode + "../private/front-toc.ss") @title{Master Index} +@front-toc['index] + @(make-splice (index-blocks)) diff --git a/collects/scribblings/main/user/start.scrbl b/collects/scribblings/main/user/start.scrbl new file mode 100644 index 0000000000..3694d687fe --- /dev/null +++ b/collects/scribblings/main/user/start.scrbl @@ -0,0 +1,21 @@ +#lang scribble/doc +@(require scribble/manual + scribble/struct + "../private/manuals.ss") + +@title{PLT Scheme Documentation} + +@;{ +@; This page should always be the default, so it doesn't need to say +@; something special or link to the main page. +@margin-note{This is a user-specific listing, which may include + @|PLaneT| packages and other collections that are not in + the main installation. The main installation's listing is + @other-manual['(lib "scribblings/start/start.scrbl")].} +;} + +@margin-note{This is the PLT Scheme documentation, including + user-specific packages (@|PLaneT| packages and other + collections) that are not in the main installation.} + +@(build-contents #t) diff --git a/collects/scribblings/master-index/info.ss b/collects/scribblings/master-index/info.ss deleted file mode 100644 index 84b8288869..0000000000 --- a/collects/scribblings/master-index/info.ss +++ /dev/null @@ -1,3 +0,0 @@ -#lang setup/infotab - -(define scribblings '(("master-index.scrbl" (depends-all-main no-depend-on) (omit)))) diff --git a/collects/scribblings/release/info.ss b/collects/scribblings/release/info.ss deleted file mode 100644 index 046710a210..0000000000 --- a/collects/scribblings/release/info.ss +++ /dev/null @@ -1,3 +0,0 @@ -#lang setup/infotab - -(define scribblings '(("release.scrbl" () (omit)))) diff --git a/collects/scribblings/start/info.ss b/collects/scribblings/start/info.ss deleted file mode 100644 index f96eb65da9..0000000000 --- a/collects/scribblings/start/info.ss +++ /dev/null @@ -1,4 +0,0 @@ -#lang setup/infotab - -(define scribblings - '(("start.scrbl" (main-doc-root always-run depends-all-main no-depend-on) (omit)))) diff --git a/collects/scribblings/start/manuals.ss b/collects/scribblings/start/manuals.ss deleted file mode 100644 index ae4c838b3e..0000000000 --- a/collects/scribblings/start/manuals.ss +++ /dev/null @@ -1,192 +0,0 @@ -#lang scheme/base - -(require scribble/manual - scribble/struct - scribble/decode - setup/getinfo - setup/main-collects - setup/dirs) - -(provide build-contents) - -(define (resolve s) - (resolved-module-path-name - (module-path-index-resolve - (module-path-index-join `(lib ,(string-append s ".scrbl") - "scribblings" - ,s) - #f)))) - -(define-struct sec (cat label)) - -(define sections - (list (make-sec 'getting-started - "Getting Started") - (make-sec 'language - "Languages") - (make-sec 'tool - "Tools") - (make-sec 'gui-library - "GUI and Graphics Libraries") - (make-sec 'net-library - "Network Libraries") - (make-sec 'parsing-library - "Parsing Libraries") - (make-sec 'tool-library - "Tool Libraries") - (make-sec 'foreign - "Low-Level APIs") - (make-sec 'interop - "Interoperability") - (make-sec 'library - "Miscellaneous Libraries") - (make-sec 'experimental - "Experimental Languages and Libraries") - (make-sec 'legacy - "Legacy Languages and Libraries") - (make-sec 'other - "Other"))) - -(define (main-collects? dir) - (pair? (path->main-collects-relative dir))) - -(define (to-toc target label) - (make-toc-element - #f - null - (list (link target - #:underline? #f - (make-element "tocsubseclink" - (list label)))))) - -(define (make-spacer) - (make-toc-element - #f - null - (list 'nbsp))) - -(define (add-sections cat mk-sep l) - (if (null? l) - null - (let loop ([l l][key (if (equal? "" (caddar l)) - (caar l) - +inf.0)]) - (cond - [(null? l) null] - [(equal? (caar l) key) - (cons (cadar l) (loop (cdr l) key))] - [else - (let ([lbl (caddar l)] ; currently always "" - [l (cons (cadar l) (loop (cdr l) (caar l)))] - [sep? (not (= (truncate (/ key 10)) - (truncate (/ (caar l) 10))))]) - (if sep? - (cons (mk-sep lbl) l) - l))])))) - -(define (build-contents all?) - (let* ([dirs (find-relevant-directories '(scribblings))] - [infos (map get-info/full dirs)] - [docs (apply append - (map (lambda (i dir) - (if (or all? - (main-collects? dir)) - (let ([s (i 'scribblings)]) - (apply - append - (map (lambda (d) - (if (and (not all?) - (pair? (cdr d)) - (or (memq 'user-doc (cadr d)) - (memq 'user-doc-root (cadr d)))) - null - (let* ([new-cat (if ((length d) . > . 2) - (caddr d) - '(library))] - [sub-cat (and (list? new-cat) - ((length new-cat) . > . 1) - (cadr new-cat))]) - (list - (list - ;; Category - (let ([the-cat (if (pair? new-cat) - (car new-cat) - 'unknown)]) - (or (and (eq? the-cat 'omit) the-cat) - (ormap (lambda (sec) - (and (eq? the-cat (sec-cat sec)) - the-cat)) - sections) - 'library)) - ;; Priority - (if (and sub-cat - (real? sub-cat)) - sub-cat - 0) - ;; Priority label (not used): - "" - ;; Path - (if (pair? d) - (build-path dir (car d)) - (build-path dir "???"))))))) - s))) - null)) - infos - dirs))] - [plain-line - (lambda content - (list (make-flow (list (make-paragraph content)))))] - [line - (lambda (doc) - (plain-line (hspace 2) - (other-manual doc #:underline? #f)))]) - (make-splice - (list - (make-delayed-block - (lambda (renderer part resolve-info) - (make-table - #f - (cdr - (apply append - (map (lambda (sec) - (let ([docs (filter (lambda (doc) - (eq? (car doc) (sec-cat sec))) - docs)]) - (list* - (plain-line (hspace 1)) - (plain-line (sec-label sec)) - (add-sections - (sec-cat sec) - (lambda (str) - (plain-line (make-element (if (string=? str "") - "sepspace" - "septitle") - (list 'nbsp str)))) - (sort - (map (lambda (doc) (list (cadr doc) - (line (cadddr doc)) - (caddr doc))) - docs) - (lambda (ad bd) - (let ([a (cadr (paragraph-content (car (flow-paragraphs (caadr ad)))))] - [b (cadr (paragraph-content (car (flow-paragraphs (caadr bd)))))]) - (if (= (car ad) (car bd)) - (begin - (string-cistring a renderer part resolve-info) - (element->string b renderer part resolve-info))) - (> (car ad) (car bd)))))))))) - sections)))))) - - (to-toc "master-index/index.html" - "Master Index") - (make-spacer) - (to-toc (build-path (find-doc-dir) "license/index.html") - "License") - (to-toc (build-path (find-doc-dir) "acks/index.html") - "Acknowledgments") - (to-toc (build-path (find-doc-dir) "release/index.html") - "Release Notes") - (make-spacer) - (to-toc (format "http://bugs.plt-scheme.org/?v=~a" (version)) - "Report a Bug"))))) - diff --git a/collects/scribblings/start/start.scrbl b/collects/scribblings/start/start.scrbl deleted file mode 100644 index 57a8b5c06a..0000000000 --- a/collects/scribblings/start/start.scrbl +++ /dev/null @@ -1,14 +0,0 @@ -#lang scribble/doc -@(require scribble/manual - scribble/struct - "manuals.ss") - -@title{PLT Scheme Documentation} - -@margin-note{This is an installation-specific listing. Running - @exec{plt-help} may open a different - page with local and user-specific documentation, - including documentation for installed @|PLaneT| packages.} - -@(build-contents #f) - diff --git a/collects/scribblings/user-master-index/info.ss b/collects/scribblings/user-master-index/info.ss deleted file mode 100644 index c8a9014ee4..0000000000 --- a/collects/scribblings/user-master-index/info.ss +++ /dev/null @@ -1,4 +0,0 @@ -#lang setup/infotab - -(define scribblings - '(("master-index.scrbl" (user-doc depends-all no-depend-on) (omit)))) diff --git a/collects/scribblings/user-master-index/master-index.scrbl b/collects/scribblings/user-master-index/master-index.scrbl deleted file mode 100644 index b5e437b3b6..0000000000 --- a/collects/scribblings/user-master-index/master-index.scrbl +++ /dev/null @@ -1,8 +0,0 @@ -#lang scribble/doc -@(require scribble/basic - scribble/decode) - -@title{Master Index (user)} - -@(make-splice (index-blocks)) - diff --git a/collects/scribblings/user-start/info.ss b/collects/scribblings/user-start/info.ss deleted file mode 100644 index db4077e732..0000000000 --- a/collects/scribblings/user-start/info.ss +++ /dev/null @@ -1,4 +0,0 @@ -#lang setup/infotab - -(define scribblings - '(("user-start.scrbl" (user-doc-root depends-all always-run no-depend-on) (omit)))) diff --git a/collects/scribblings/user-start/user-start.scrbl b/collects/scribblings/user-start/user-start.scrbl deleted file mode 100644 index 552e9718e0..0000000000 --- a/collects/scribblings/user-start/user-start.scrbl +++ /dev/null @@ -1,13 +0,0 @@ -#lang scribble/doc -@(require scribble/manual - scribble/struct - "../start/manuals.ss") - -@title{PLT Scheme Documentation (user)} - -@margin-note{This is a user-specific listing, which may include - @|PLaneT| packages and other collections that are not in - the main installation. The main installation's listing is - @other-manual['(lib "scribblings/start/start.scrbl")].} - -@(build-contents #t)