aboutsummaryrefslogtreecommitdiff
path: root/module/output/html-search.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/output/html-search.scm')
-rw-r--r--module/output/html-search.scm59
1 files changed, 29 insertions, 30 deletions
diff --git a/module/output/html-search.scm b/module/output/html-search.scm
index a6a80cd4..f6b74a77 100644
--- a/module/output/html-search.scm
+++ b/module/output/html-search.scm
@@ -3,36 +3,35 @@
:use-module (util)
:use-module (vcomponent)
:use-module (vcomponent search)
- :use-module (ice-9 format)
+ :use-module ((ice-9 pretty-print) :select (pretty-print))
+ :use-module (html components)
)
-(define-public (search-result-page search-term search-result page paginator q=)
- `(*TOP*
- (*PI* xml "version=\"1.0\" encoding=\"utf-8\"")
- (html (@ (xmlns "http://www.w3.org/1999/xhtml") (lang sv))
- (head (title "Search results")
- ;; TODO (@ (output html) include-css)
- (link (@ (type "text/css")
- (rel "stylesheet")
- (href "/static/style.css"))))
- (body
- (h2 "Search term")
- (form
- (pre (textarea (@ (name "q") (rows 5) (spellcheck false)
- (style "width:100%"))
- ,(format #f "~y" search-term)))
- (input (@ (type submit))))
- (h2 "Result (page " ,page ")")
- (ul
- ,@(for event in search-result
- `(li (@ (class "event"))
- ,(prop event 'SUMMARY))))
- (div (@ (class "paginator"))
- ,@(paginator->list
- paginator
- (lambda (p) (if (= p page)
- `(span ,p)
- `(a (@ (href "?" ,q= "&p=" ,p)) ,p)))
- (lambda (p) `(a (@ (href "?" ,q= "&p=" ,p)) "»"))))
- ))))
+(define-public (search-result-page
+ search-term search-result page paginator q=)
+ (xhtml-doc
+ (@ (lang sv))
+ (head (title "Search results")
+ ,(include-css "/static/style.css"))
+ (body
+ (h2 "Search term")
+ (form
+ (pre (textarea (@ (name "q") (rows 5) (spellcheck false)
+ (style "width:100%"))
+ ,(with-output-to-string
+ (lambda () (pretty-print search-term)))))
+ (input (@ (type submit))))
+ (h2 "Result (page " ,page ")")
+ (ul
+ ,@(for event in search-result
+ `(li (@ (class "event"))
+ ,(prop event 'SUMMARY))))
+ (div (@ (class "paginator"))
+ ,@(paginator->list
+ paginator
+ (lambda (p) (if (= p page)
+ `(span ,p)
+ `(a (@ (href "?" ,q= "&p=" ,p)) ,p)))
+ (lambda (p) `(a (@ (href "?" ,q= "&p=" ,p)) "»"))))
+ )))