blob: 1125147d176abdb00d98a7d74be653feae788f31 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
(define-module (web view doc)
#:use-module (json)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:use-module (ice-9 iconv)
#:use-module (ice-9 receive)
#:use-module (ice-9 string-fun)
#:use-module (sxml simple)
#:use-module (web sxml)
#:export (view-doc))
(define (parse-html buf)
(car (cdr (xml->sxml buf))))
(define* (layout #:key
(head '())
(body '())
(title "GeneNetwork.org API"))
`((doctype "html")
(html (@ (lang "en"))
(head
(title ,title)
(meta (@ (http-equiv "Content-Type") (content "text/html; charset=UTF-8")))
(meta (@ (name "author") (content "GeneNetwork team")))
(meta (@ (name "viewport")
(content "width=device-width, initial-scale=1")))
(link
(@ (rel "stylesheet")
(media "screen")
(type "text/css")
(href "./css/gn-doc.css")))
,@head)
(body (h1 ,body)
; ,body
; (p ,(parse-html "<b>some raw really <i>text</i> here</b>"))
(footer
(p "Copyright © 2005—2023 by the GeneNetwork community with a touch of " (span (@ (class "lambda")) "λ") "!")
(p "This is free software. Download the "
(a (@ (href "https://ci.genenetwork.org/"))
"source code") "."))
))))
(define (view-doc path page)
(layout #:body page))
|