guile-docs/guile-docs/server/rendering.scm

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)))))