aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-06-11 23:17:14 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2022-06-12 00:08:17 +0200
commitfb38f4ba7b1711d436c303f9de34c8c34f29168c (patch)
treeb250b7a25c21df0cabae5a7711e33947228baf6a
parentAdd <!DOCTYPE html> to xhtml-doc macro. (diff)
downloadcalp-fb38f4ba7b1711d436c303f9de34c8c34f29168c.tar.gz
calp-fb38f4ba7b1711d436c303f9de34c8c34f29168c.tar.xz
Embedd fragile strings in sxml in procedures.
Since procedures allow direct controll of the output. Everything worked fine for XML output, but HTML encodes apostrophes as &apos;, which works really bad in script tags.
-rw-r--r--module/calp/html/view/calendar.scm7
-rw-r--r--module/calp/html/view/calendar/month.scm2
-rw-r--r--module/calp/html/view/calendar/week.scm2
3 files changed, 5 insertions, 6 deletions
diff --git a/module/calp/html/view/calendar.scm b/module/calp/html/view/calendar.scm
index 6945c5d2..dd94dc16 100644
--- a/module/calp/html/view/calendar.scm
+++ b/module/calp/html/view/calendar.scm
@@ -102,12 +102,11 @@
(content ,(date->string (date+ end-date (date day: 1)) "~s"))))
(script
- ,(format #f
- "
+ ,(lambda () (format #t "
EDIT_MODE=~:[false~;true~];
window.default_calendar='~a';"
- (edit-mode)
- (base64encode ((@ (vcomponent) default-calendar)))))
+ (edit-mode)
+ (base64encode ((@ (vcomponent) default-calendar))))))
(style ,(format #f "html {
diff --git a/module/calp/html/view/calendar/month.scm b/module/calp/html/view/calendar/month.scm
index 2b4c888a..205d6049 100644
--- a/module/calp/html/view/calendar/month.scm
+++ b/module/calp/html/view/calendar/month.scm
@@ -35,7 +35,7 @@
(events-between s e (list->stream long-events)))))
(date-range pre-start post-end (date day: 7))))
- `((script "window.VIEW='month';")
+ `((script ,(lambda () (format #t "window.VIEW='month';")))
(header (@ (class "table-head"))
,(string-titlecase (date->string start-date "~B ~Y")))
(div (@ (class "caltable")
diff --git a/module/calp/html/view/calendar/week.scm b/module/calp/html/view/calendar/week.scm
index 16337102..b68184f9 100644
--- a/module/calp/html/view/calendar/week.scm
+++ b/module/calp/html/view/calendar/week.scm
@@ -27,7 +27,7 @@
(define*-public (render-calendar key: calendars events start-date end-date #:allow-other-keys)
(let* ((long-events short-events (partition long-event? (stream->list (events-between start-date end-date events))))
(range (date-range start-date end-date)))
- `((script "window.VIEW='week';")
+ `((script ,(lambda () (format #t "window.VIEW='week';")))
(div (@ (class "calendar"))
(div (@ (class "days"))
;; Top left area