;;;; cl-scopes/frontend/cs-hx - frontend (http response) definitions ;;;; for embedding HTML fragments in pages generated by the `cyberscopes` Hugo theme ;;;; with dynamic elements handled by `HTMX`. (defpackage :scopes/frontend/cs-hx (:use :common-lisp) (:local-nicknames (:dom :scopes/web/dom) (:message :scopes/core/message) (:response :scopes/web/response) (:util :scopes/util)) (:import-from :scopes/web/dom #:div #:label) (:export #:render-content #:response)) (in-package :scopes/frontend/cs-hx) (defclass response (response:html-response) ()) (defmethod response:render-content ((resp response) msg) ;(dom:render (dom:dlist nil (message:data msg)))) (dom:render (apply #'div nil (util:loop-plist (message:data msg) k v collect (view-field k v))))) (defun view-field (label value) (div nil (label nil (string-downcase label)) value))