racket/collects/help/servlets/missing-manual.ss
2005-05-27 18:56:37 +00:00

52 lines
1.8 KiB
Scheme

(module missing-manual mzscheme
(require (lib "servlet.ss" "web-server"))
(require "private/headelts.ss")
(require "private/util.ss"
"../private/standard-urls.ss")
(define (no-manual manual label link)
(let* ([html-url (make-docs-html-url manual)]
[plt-url (make-docs-plt-url manual)])
`(html
(head ,hd-css
,@hd-links
(TITLE "Missing PLT manual"))
(body ((bgcolor "white"))
,(color-with "red" `(h1 "Documentation missing"))
(P)
"You tried to access documentation for "
,(color-with "blue" `(B ,label)) ". "
"The documentation is not installed on this "
"machine, probably because it is not part of the "
"standard DrScheme distribution."
(p)
(h2 "Install Locally")
(a ((href ,plt-url)) "Download and/or install")
" the documentation."
(br)
"After installing, "
(a ((href ,link)) "continue")
" to the originally requested page."
(br) nbsp (br)
(h2 "Read Online")
"Read the documentation on "
(a ((href ,html-url)) "PLT's servers")
"."))))
(require (lib "servlet.ss" "web-server"))
(provide interface-version timeout start)
(define interface-version 'v1)
(define timeout +inf.0)
(define (start initial-request)
(report-errors-to-browser send/finish)
(let ([bindings (request-bindings initial-request)])
(no-manual (extract-binding/single 'manual bindings)
(extract-binding/single 'name bindings)
(extract-binding/single 'link bindings)))))