racket/collects/help/servlets/private/read-doc.ss
2005-05-27 18:56:37 +00:00

41 lines
1.0 KiB
Scheme

(module read-doc mzscheme
(require (lib "etc.ss"))
(require (lib "getinfo.ss" "setup"))
(require "util.ss")
(require "read-lines.ss")
(require "headelts.ss")
(provide read-doc)
; extracts help desk message
(define (get-message coll)
(with-handlers ; collection may not exist
((void (lambda _ #f)))
((get-info (list coll))
'help-desk-message
(lambda () #f))))
(define no-offset-format "file=~a&caption=~a")
(define offset-format (string-append no-offset-format "&offset=~a#temp"))
(define (build-page file caption coll offset)
(let ([msg (get-message coll)])
(if msg
`(HTML
(HEAD (TITLE "PLT Help Desk")
,hd-css)
(BODY
,(format-collection-message msg)
(HR)
,(read-lines file caption offset)))
`(HTML
(HEAD (TITLE "PLT Help Desk")
,hd-css)
,(read-lines file caption offset)))))
(define read-doc
(opt-lambda (file caption coll [offset #f])
(build-page file caption coll offset))))