(in-package #:oh-ducks) ;; avoid conflicting with 'sgml:pt (eval-when (:compile-toplevel :load-toplevel :execute) (import 'closure-html:pt)) (eval-when (:compile-toplevel :load-toplevel :execute) (export 'pt) (export 'lhtml)) (defclass html-template (css-selector-template) ()) (add-handler 'pt 'chtml:make-pt-builder) (add-handler 'lhtml 'chtml:make-lhtml-builder) (unless *default-parser* (setf *default-parser* (rcurry #'chtml:parse (get-handler-for-model 'pt)))) (defmethod make-template ((kind (eql 'html)) (spec cons)) (destructuring-bind (&key parser model) (append (when (%spec-includes-opts spec) (second spec)) (list :model 'pt)) (make-instance 'html-template :parser (or parser (rcurry #'chtml:parse (get-handler-for-model model))) :spec spec)))