42 lines
1.6 KiB
Scheme
42 lines
1.6 KiB
Scheme
(module missing-manual mzscheme
|
|
(require (lib "servlet.ss" "web-server")
|
|
"private/headelts.ss"
|
|
"private/util.ss"
|
|
"../private/standard-urls.ss")
|
|
(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))))
|
|
|
|
(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"])
|
|
,(with-color "red" `(h1 "Documentation missing"))
|
|
(p)
|
|
"You tried to access documentation for "
|
|
,(with-color "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")
|
|
".")))))
|