Improve and format
This commit is contained in:
parent
da279fc12b
commit
b40471bde2
5 changed files with 28 additions and 36 deletions
src
|
@ -13,7 +13,7 @@
|
||||||
(funcall ,(or parser '#'identity) ,env-val)
|
(funcall ,(or parser '#'identity) ,env-val)
|
||||||
,default)))))
|
,default)))))
|
||||||
|
|
||||||
(defenv *env* "HP_ENV" :default "dev")
|
(defenv *env* "HP_ENV" :default "dev")
|
||||||
(defenv *port* "HP_PORT" :default 3000 :parser #'parse-integer)
|
(defenv *port* "HP_PORT" :default 3000 :parser #'parse-integer)
|
||||||
|
|
||||||
(defun dev-mode-p ()
|
(defun dev-mode-p ()
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
(defpackage #:hp/config/logger
|
(defpackage #:hp/config/lib
|
||||||
(:use #:cl)
|
(:use #:cl)
|
||||||
(:import-from #:log4cl))
|
(:import-from #:log4cl))
|
||||||
(in-package #:hp/config/logger)
|
(in-package #:hp/config/lib)
|
||||||
|
|
||||||
(log:config :nofile)
|
(log:config :nofile)
|
|
@ -23,14 +23,14 @@
|
||||||
(,(if (listp files) 'mapcar 'funcall)
|
(,(if (listp files) 'mapcar 'funcall)
|
||||||
(asset-path-under ,kind) ',files)))
|
(asset-path-under ,kind) ',files)))
|
||||||
|
|
||||||
(defun detect-data-props (html-str data-prop-name)
|
(defun detect-attr-vals (html attr)
|
||||||
(let* ((regex (format nil "(?<=~a=\")[^\"]*(?=\")" data-prop-name))
|
(let* ((regex (format nil "(?<=~a=\")[^\"]*(?=\")" attr))
|
||||||
(data-props (re:all-matches-as-strings regex html-str)))
|
(vals (re:all-matches-as-strings regex html)))
|
||||||
(remove-duplicates data-props :test #'string=)))
|
(remove-duplicates vals :test #'string=)))
|
||||||
|
|
||||||
(defun get-css-paths (html-str)
|
(defun get-css-paths (html)
|
||||||
(mapcar (asset-path-under :css)
|
(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)
|
(defun cmp-props (&key css js x-data)
|
||||||
(append (and css `(:data-css ,css))
|
(append (and css `(:data-css ,css))
|
||||||
|
|
|
@ -6,23 +6,18 @@
|
||||||
(:export #:scripts))
|
(:export #:scripts))
|
||||||
(in-package #:hp/view/components/document/scripts)
|
(in-package #:hp/view/components/document/scripts)
|
||||||
|
|
||||||
(defasset *global-js*
|
(defasset *htmx* :vendor "htmx@1.9.12.js")
|
||||||
:js "global.js")
|
(defasset *htmx-exts* :htmx-ext
|
||||||
|
("alpine-morph@1.9.12.js"
|
||||||
|
"head-support@1.9.12.js"))
|
||||||
|
|
||||||
(defasset *htmx*
|
(defasset *alpine* :vendor "alpine@3.13.8.js")
|
||||||
:vendor "htmx@1.9.12.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*
|
(defasset *global* :js "global.js")
|
||||||
: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"))
|
|
||||||
|
|
||||||
(pi:define-element extentions (paths defer)
|
(pi:define-element extentions (paths defer)
|
||||||
(pi:h
|
(pi:h
|
||||||
|
@ -35,7 +30,7 @@
|
||||||
(pi:h
|
(pi:h
|
||||||
(<>
|
(<>
|
||||||
(script :src *htmx*)
|
(script :src *htmx*)
|
||||||
(extentions :paths *htmx-extentions*)
|
(extentions :paths *htmx-exts*)
|
||||||
(extentions :paths *alpine-extentions* :defer t)
|
(extentions :paths *alpine-exts* :defer t)
|
||||||
(script :src *global-js* :defer t)
|
(script :src *global* :defer t)
|
||||||
(script :src *alpine* :defer t))))
|
(script :src *alpine* :defer t))))
|
||||||
|
|
|
@ -8,15 +8,12 @@
|
||||||
#:styles))
|
#:styles))
|
||||||
(in-package #:hp/view/components/document/styles)
|
(in-package #:hp/view/components/document/styles)
|
||||||
|
|
||||||
(defasset *ress*
|
(defasset *ress* :vendor "ress@5.0.2.css")
|
||||||
:vendor "ress@5.0.2.css")
|
(defasset *global* :css "global.css")
|
||||||
|
|
||||||
(defasset *global-css*
|
|
||||||
:css "global.css")
|
|
||||||
|
|
||||||
(pi:define-element on-demand-styles ()
|
(pi:define-element on-demand-styles ()
|
||||||
(let* ((pi:*escape-html* nil)
|
(let* ((html-str (let ((pi:*escape-html* nil))
|
||||||
(html-str (pi:elem-str pi:children))
|
(pi:elem-str pi:children)))
|
||||||
(css-paths (get-css-paths html-str)))
|
(css-paths (get-css-paths html-str)))
|
||||||
(pi:h
|
(pi:h
|
||||||
(<>
|
(<>
|
||||||
|
@ -28,10 +25,10 @@
|
||||||
(pi:h
|
(pi:h
|
||||||
(<>
|
(<>
|
||||||
(link :rel "stylesheet" :type "text/css" :href *ress*)
|
(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)
|
(on-demand-styles pi:children)
|
||||||
(link :rel "preconnect" :href "https://fonts.googleapis.com")
|
(link :rel "preconnect" :href "https://fonts.googleapis.com")
|
||||||
(link :rel "preconnect" :href "https://fonts.gstatic.com" :crossorigin t)
|
(link :rel "preconnect" :href "https://fonts.gstatic.com" :crossorigin t)
|
||||||
(link
|
(link
|
||||||
:rel "stylesheet"
|
:rel "stylesheet"
|
||||||
:href "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap"))))
|
:href "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap"))))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue