diff --git a/src/config/env.lisp b/src/config/env.lisp index 12f4026..0727fc6 100644 --- a/src/config/env.lisp +++ b/src/config/env.lisp @@ -13,7 +13,7 @@ (funcall ,(or parser '#'identity) ,env-val) ,default))))) -(defenv *env* "HP_ENV" :default "dev") +(defenv *env* "HP_ENV" :default "dev") (defenv *port* "HP_PORT" :default 3000 :parser #'parse-integer) (defun dev-mode-p () diff --git a/src/config/logger.lisp b/src/config/lib.lisp similarity index 50% rename from src/config/logger.lisp rename to src/config/lib.lisp index 05a549d..db6fc43 100644 --- a/src/config/logger.lisp +++ b/src/config/lib.lisp @@ -1,6 +1,6 @@ -(defpackage #:hp/config/logger +(defpackage #:hp/config/lib (:use #:cl) (:import-from #:log4cl)) -(in-package #:hp/config/logger) +(in-package #:hp/config/lib) (log:config :nofile) diff --git a/src/view/asset.lisp b/src/view/asset.lisp index 0668103..90a8fcf 100644 --- a/src/view/asset.lisp +++ b/src/view/asset.lisp @@ -23,14 +23,14 @@ (,(if (listp files) 'mapcar 'funcall) (asset-path-under ,kind) ',files))) -(defun detect-data-props (html-str data-prop-name) - (let* ((regex (format nil "(?<=~a=\")[^\"]*(?=\")" data-prop-name)) - (data-props (re:all-matches-as-strings regex html-str))) - (remove-duplicates data-props :test #'string=))) +(defun detect-attr-vals (html attr) + (let* ((regex (format nil "(?<=~a=\")[^\"]*(?=\")" attr)) + (vals (re:all-matches-as-strings regex html))) + (remove-duplicates vals :test #'string=))) -(defun get-css-paths (html-str) +(defun get-css-paths (html) (mapcar (asset-path-under :css) - (detect-data-props html-str "data-css"))) + (detect-attr-vals html "data-css"))) (defun cmp-props (&key css js x-data) (append (and css `(:data-css ,css)) diff --git a/src/view/components/document/scripts.lisp b/src/view/components/document/scripts.lisp index bdc0260..2b6c54a 100644 --- a/src/view/components/document/scripts.lisp +++ b/src/view/components/document/scripts.lisp @@ -6,23 +6,18 @@ (:export #:scripts)) (in-package #:hp/view/components/document/scripts) -(defasset *global-js* - :js "global.js") +(defasset *htmx* :vendor "htmx@1.9.12.js") +(defasset *htmx-exts* :htmx-ext + ("alpine-morph@1.9.12.js" + "head-support@1.9.12.js")) -(defasset *htmx* - :vendor "htmx@1.9.12.js") +(defasset *alpine* :vendor "alpine@3.13.8.js") +(defasset *alpine-exts* :alpine-ext + ("async-alpine@1.2.2.js" + "persist@3.13.8.js" + "morph@3.13.8.js")) -(defasset *htmx-extentions* - :htmx-ext ("alpine-morph@1.9.12.js" - "head-support@1.9.12.js")) - -(defasset *alpine* - :vendor "alpine@3.13.8.js") - -(defasset *alpine-extentions* - :alpine-ext ("async-alpine@1.2.2.js" - "persist@3.13.8.js" - "morph@3.13.8.js")) +(defasset *global* :js "global.js") (pi:define-element extentions (paths defer) (pi:h @@ -35,7 +30,7 @@ (pi:h (<> (script :src *htmx*) - (extentions :paths *htmx-extentions*) - (extentions :paths *alpine-extentions* :defer t) - (script :src *global-js* :defer t) + (extentions :paths *htmx-exts*) + (extentions :paths *alpine-exts* :defer t) + (script :src *global* :defer t) (script :src *alpine* :defer t)))) diff --git a/src/view/components/document/styles.lisp b/src/view/components/document/styles.lisp index 26054c2..0a5eda6 100644 --- a/src/view/components/document/styles.lisp +++ b/src/view/components/document/styles.lisp @@ -8,15 +8,12 @@ #:styles)) (in-package #:hp/view/components/document/styles) -(defasset *ress* - :vendor "ress@5.0.2.css") - -(defasset *global-css* - :css "global.css") +(defasset *ress* :vendor "ress@5.0.2.css") +(defasset *global* :css "global.css") (pi:define-element on-demand-styles () - (let* ((pi:*escape-html* nil) - (html-str (pi:elem-str pi:children)) + (let* ((html-str (let ((pi:*escape-html* nil)) + (pi:elem-str pi:children))) (css-paths (get-css-paths html-str))) (pi:h (<> @@ -28,10 +25,10 @@ (pi:h (<> (link :rel "stylesheet" :type "text/css" :href *ress*) - (link :rel "stylesheet" :type "text/css" :href *global-css*) + (link :rel "stylesheet" :type "text/css" :href *global*) (on-demand-styles pi:children) (link :rel "preconnect" :href "https://fonts.googleapis.com") (link :rel "preconnect" :href "https://fonts.gstatic.com" :crossorigin t) - (link + (link :rel "stylesheet" :href "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap"))))