diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-06-11 23:17:14 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-06-12 00:08:17 +0200 |
commit | fb38f4ba7b1711d436c303f9de34c8c34f29168c (patch) | |
tree | b250b7a25c21df0cabae5a7711e33947228baf6a /module/c | |
parent | Add <!DOCTYPE html> to xhtml-doc macro. (diff) | |
download | calp-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
', which works really bad in script tags.
Diffstat (limited to '')
-rw-r--r-- | module/calp/html/view/calendar.scm | 7 | ||||
-rw-r--r-- | module/calp/html/view/calendar/month.scm | 2 | ||||
-rw-r--r-- | module/calp/html/view/calendar/week.scm | 2 |
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 |