diff --git a/collects/drscheme/acks.ss b/collects/drscheme/acks.ss index f0c4e15dbd..fecf97b005 100644 --- a/collects/drscheme/acks.ss +++ b/collects/drscheme/acks.ss @@ -32,6 +32,7 @@ "Paul Graunke, " "Kathy Gray, " "Dan Grossman, " + "Dave Gurnell, " "Bruce Hauman, " "Dave Herman, " "Mark Krentel, " diff --git a/collects/eopl/info.ss b/collects/eopl/info.ss index 44b74f851b..36b36e15fd 100644 --- a/collects/eopl/info.ss +++ b/collects/eopl/info.ss @@ -7,7 +7,7 @@ (define tool-names (list "Essentials of Programming Languages")) (define tool-urls (list "http://www.cs.indiana.edu/eopl/")) -(define scribblings '(("eopl.scrbl" () (language -11)))) +(define scribblings '(("eopl.scrbl" () (language -12)))) (define textbook-pls (list (list '("eopl-small.gif" "eopl") diff --git a/collects/errortrace/scribblings/errortrace.scrbl b/collects/errortrace/scribblings/errortrace.scrbl index 7ffcdadbe5..f5c9ffe5bc 100644 --- a/collects/errortrace/scribblings/errortrace.scrbl +++ b/collects/errortrace/scribblings/errortrace.scrbl @@ -69,7 +69,8 @@ parameters. @; --------------------------------------------- @section[#:tag "using-errortrace"]{Using Errortrace} -@defmodule[errortrace] + +@defmodule[errortrace #:use-sources (errortrace/errortrace-lib)] @; --------------------------------------------- diff --git a/collects/planet/info.ss b/collects/planet/info.ss index 67fb4f27c9..525d7e764a 100644 --- a/collects/planet/info.ss +++ b/collects/planet/info.ss @@ -3,4 +3,4 @@ (define name "PLaneT") (define mzscheme-launcher-names '("planet")) (define mzscheme-launcher-libraries '("planet.ss")) -(define scribblings '(("planet.scrbl" (multi-page)))) +(define scribblings '(("planet.scrbl" (multi-page) (tool)))) diff --git a/collects/planet/util.ss b/collects/planet/util.ss index 998f0a00e9..80274fe21d 100644 --- a/collects/planet/util.ss +++ b/collects/planet/util.ss @@ -269,12 +269,15 @@ (define (render src-file dest-dir multi-page?) (parameterize ([current-namespace (namespace-anchor->empty-namespace anchor)]) (make-directory* dest-dir) - (let* ([renderer (new ((if multi-page? + (let* ([index-dir (if multi-page? + (let-values ([(base name dir?) (split-path dest-dir)]) base) + dest-dir)] + [renderer (new ((if multi-page? (dynamic-require 'scribble/html-render 'render-multi-mixin) values) ((dynamic-require 'scribble/html-render 'render-mixin) (dynamic-require 'scribble/base-render 'render%))) - [dest-dir dest-dir] + [dest-dir index-dir] [root-path dest-dir])] [doc (dynamic-require `(file ,(path->string src-file)) 'doc)] [ci (send renderer collect (list doc) (list dest-dir))] @@ -283,7 +286,12 @@ [ri (send renderer resolve (list doc) (list dest-dir) ci)]) (send renderer set-external-tag-path "/servlets/doc-search.ss") - (send renderer render (list doc) (list dest-dir) ri) + (send renderer render + (list doc) + (list (if multi-page? + dest-dir + (build-path dest-dir "index.html"))) + ri) ;; return cross-reference info: (send renderer serialize-info ri)))) @@ -347,9 +355,9 @@ (error (format "scribblings file ~a not found" filename))) (printf "Building: ~a\n" filename) (let* ([name.scrbl (file-name-from-path filename)] - [name (cadr (regexp-match #rx"(.*)\\.scrbl$" (path->string name.scrbl)))]) + [name (path-replace-suffix name.scrbl #"")]) (render (build-path filename) - (build-path SCRIBBLE-DOCUMENT-DIR (string-append name "/")) + (build-path SCRIBBLE-DOCUMENT-DIR name) (memq 'multi-page flags)))] [_ (error "malformed scribblings entry")]))))) diff --git a/collects/scribblings/scribble/renderer.scrbl b/collects/scribblings/scribble/renderer.scrbl index 5d723df457..f9817b237f 100644 --- a/collects/scribblings/scribble/renderer.scrbl +++ b/collects/scribblings/scribble/renderer.scrbl @@ -49,7 +49,10 @@ Represents a renderer. [refer-to-existing-files any/c #f] [root-path (or/c path-string? false/c) #f])]{ -Creates a renderer whose output goes to @scheme[dest-dir]. +Creates a renderer whose output will go to @scheme[dest-dir]. For +example, @scheme[dest-dir] could name the directory containing the +output Latex file, the HTML file for a single-file output, or the +output sub-directory for multi-file HTML output. If @scheme[root-path] is not @scheme[#f], it is normally the same as @scheme[dest-dir] or a parent of @scheme[dest-dir]. It causes @@ -64,21 +67,30 @@ moved).} [dests (listof path-string?)]) collect-info?]{ -Performs the @techlink{collect pass}.} +Performs the @techlink{collect pass}. See @method[render% render] for +information on the @scheme[dests] argument.} @defmethod[(resolve [srcs (listof part?)] [dests (listof path-string?)] [ci collect-info?]) resolve-info?]{ -Performs the @techlink{resolve pass}.} +Performs the @techlink{resolve pass}. See @method[render% render] for +information on the @scheme[dests] argument.} @defmethod[(render [srcs (listof part?)] [dests (listof path-string?)] [ri resolve-info?]) void?]{ -Produces the final output.} +Produces the final output. + +The @scheme[dests] provide names of files for Latex or single-file +HTML output, or names of sub-directories for multi-file HTML output. +If the @scheme[dests] are relative, they're relative to the current +directory; normally, they should indicates a path within the +@scheme[_dest-dir] supplied on initialization of the @scheme[render%] +object.} @defmethod[(serialize-info [ri resolve-info?]) any/c]{ diff --git a/collects/setup/scribble.ss b/collects/setup/scribble.ss index 5e4d188de2..ff2477a7d0 100644 --- a/collects/setup/scribble.ss +++ b/collects/setup/scribble.ss @@ -469,7 +469,8 @@ (for ([i (info-deps info)]) (with-my-namespace (lambda () - (send renderer deserialize-info (info-sci i) ci))))) + (when (info? i) + (send renderer deserialize-info (info-sci i) ci)))))) (let* ([ri (render-time "resolve" (send renderer resolve (list v) (list dest-dir) ci))] [sci (render-time "serialize" (send renderer serialize-info ri))] [defs (render-time "defined" (send renderer get-defined ci))] @@ -554,9 +555,12 @@ (lambda () (list (list (info-vers info) (doc-flags doc)) (serialize (info-undef info)) - (map (lambda (i) - (path->rel (doc-src-file (info-doc i)))) - (info-deps info)) + (filter + values + (map (lambda (i) + (and (info? i) + (path->rel (doc-src-file (info-doc i))))) + (info-deps info))) (serialize (info-searches info))))))))) (define (write-out info) diff --git a/collects/teachpack/htdp/scribblings/image.scrbl b/collects/teachpack/htdp/scribblings/image.scrbl index cb892dd549..b9ff0c5e68 100644 --- a/collects/teachpack/htdp/scribblings/image.scrbl +++ b/collects/teachpack/htdp/scribblings/image.scrbl @@ -8,11 +8,11 @@ @title[#:tag "image"]{Manipulating Images: image.ss} -@;declare-exporting[teachpack/htdp/image] -@defmodule[htdp/image]{ +@declare-exporting[teachpack/htdp/image] + The teachpack provides primitives for constructing and manipulating images. Basic, colored images are created as outlines or solid -shapes. Additional primitives allow for the composition of images.} +shapes. Additional primitives allow for the composition of images. @;----------------------------------------------------------------------------- @section{Images} diff --git a/collects/teachpack/htdp/scribblings/world.scrbl b/collects/teachpack/htdp/scribblings/world.scrbl index dd730f9c08..549b531b5c 100644 --- a/collects/teachpack/htdp/scribblings/world.scrbl +++ b/collects/teachpack/htdp/scribblings/world.scrbl @@ -8,13 +8,13 @@ @title[#:tag "world"]{Simulations and Animations: world.ss} -@defmodule[htdp/world #:use-sources (teachpack/htdp/image)]{ + The teachpack provides two sets of tools. The first allows students to create and display a series of animated scenes, i.e., a simulation. The second one generalizes the first by adding interactive GUI features. -} -@;declare-exporting[teachpack/htdp/world #:use-sources (teachpack/htdp/image)] + +@declare-exporting[teachpack/htdp/world #:use-sources (teachpack/htdp/image)] @section[#:tag "basics"]{Basics} diff --git a/collects/teachpack/info.ss b/collects/teachpack/info.ss index b590daeace..edda9b7e85 100644 --- a/collects/teachpack/info.ss +++ b/collects/teachpack/info.ss @@ -1,3 +1,3 @@ #lang setup/infotab -(define scribblings '(("teachpack.scrbl" (multi-page)))) +(define scribblings '(("teachpack.scrbl" (multi-page) (language -11)))) diff --git a/collects/teachpack/teachpack.scrbl b/collects/teachpack/teachpack.scrbl index 202fd5ac28..4d288e3dea 100644 --- a/collects/teachpack/teachpack.scrbl +++ b/collects/teachpack/teachpack.scrbl @@ -18,8 +18,11 @@ In principle, a teachpack is just a library written in the full language, is imported and signal errors in a way with which students are familiar at that level. -This chapter covers the teachpacks for ``How to Design Programs'' and ``How - to Design Classes.'' +This chapter covers the teachpacks for @italic{How to Design Programs} + and @italic{How to Design Classes}. + +@table-of-contents[] + @include-section["htdp/scribblings/htdp.scrbl"]