racket/collects/help/servlets/private/read-doc.ss
Eli Barzilay 3532652539 misc improvements
svn: r7191
2007-08-27 04:07:47 +00:00

29 lines
905 B
Scheme

(module read-doc mzscheme
(require (lib "etc.ss")
(lib "getinfo.ss" "setup")
"util.ss"
"read-lines.ss"
"html.ss")
(provide read-doc)
;; extracts help desk message
(define (get-message coll)
(with-handlers ([void (lambda _ #f)]) ; collection may not exist
((get-info (list coll)) 'help-desk-message (lambda () #f))))
(define offset-format "file=~a&caption=~a&offset=~a#temp")
(define (build-page file caption coll offset)
(let ([msg (get-message coll)])
(html-page
#:title "PLT Help Desk"
#:bodies (if msg
`(,(format-collection-message msg)
(hr)
,(read-lines file caption offset))
`(,(read-lines file caption offset))))))
(define read-doc
(opt-lambda (file caption coll [offset #f])
(build-page file caption coll offset))))