17 lines
640 B
Scheme
17 lines
640 B
Scheme
(define-module (guile-docs server rendering)
|
|
#:use-module (guile-docs docs)
|
|
#:use-module (guile-docs html templates)
|
|
#:use-module (haunt html)
|
|
#:export (get-renderer-for-data
|
|
render-html))
|
|
|
|
(define (get-renderer-for-data data-payload)
|
|
"Returns the renderer for the data-payload"
|
|
(cond ((doc? data-payload) render-doc)
|
|
(else index-page)))
|
|
|
|
(define (render-html data-payload)
|
|
"Renders the data-payload into HTML. The template used for rendering depends on the type of data-payload."
|
|
(let ((renderer (get-renderer-for-data data-payload)))
|
|
(sxml->html-string (overall-wrapper (renderer data-payload)))))
|