Remove metadata component

This commit is contained in:
Akira Tempaku 2024-04-13 03:14:34 +09:00
parent 0ad8c14e10
commit f1c711ea43
6 changed files with 30 additions and 42 deletions

View file

@ -18,8 +18,8 @@
(defmethod jg:not-found ((app jg:app))
(view:render (cmp:not-found-page)
:status :not-found
:title "404 Not Found"
:description "お探しのページは見つかりませんでした。"))
:metadata '(:title "404 Not Found"
:description "お探しのページは見つかりませんでした。")))
(defun start ()
(jg:start *app*))

View file

@ -4,9 +4,23 @@
(:export #:document))
(in-package #:hp/components/global/document)
(pi:define-element document (metadata)
(pi:define-element document (title description)
(pi:h
(html :lang "ja"
metadata
(body :hx-ext "head-support"
pi:children))))
(head
(meta :charset "UTF-8")
(script :src "/scripts/htmx.js")
(script :src "/scripts/htmx-ext/head-support.js")
(script :src "/scripts/alpine.js" :defer t)
(link :rel "stylesheet" :type "text/css" :href "/styles/ress.css")
(link :rel "stylesheet" :type "text/css" :href "/styles/global.css")
(link :rel "preconnect" :href "https://fonts.googleapis.com")
(link :rel "preconnect" :href "https://fonts.gstatic.com" :crossorigin t)
(link
:rel "stylesheet"
:href "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap")
(title (format nil "~@[~a - ~]skyizwhite.dev" title))
(meta
:name "description"
:content (or description "pakuの個人サイト")))
pi:children)))

View file

@ -6,4 +6,5 @@
(pi:define-element layout ()
(pi:h
(main pi:children)))
(body :hx-ext "head-support"
(main pi:children))))

View file

@ -1,24 +0,0 @@
(defpackage #:hp/components/global/metadata
(:use #:cl)
(:local-nicknames (#:pi #:piccolo))
(:export #:metadata))
(in-package #:hp/components/global/metadata)
(pi:define-element metadata (title description)
(pi:h
(head
(meta :charset "UTF-8")
(script :src "/scripts/htmx.js")
(script :src "/scripts/htmx-ext/head-support.js")
(script :src "/scripts/alpine.js" :defer t)
(link :rel "stylesheet" :type "text/css" :href "/styles/ress.css")
(link :rel "stylesheet" :type "text/css" :href "/styles/global.css")
(link :rel "preconnect" :href "https://fonts.googleapis.com")
(link :rel "preconnect" :href "https://fonts.gstatic.com" :crossorigin t)
(link
:rel "stylesheet"
:href "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap")
(title (format nil "~@[~a - ~]skyizwhite.dev" title))
(meta
:name "description"
:content (or description "pakuの個人サイト")))))

View file

@ -5,6 +5,10 @@
(:export #:on-get))
(in-package #:hp/routes/about)
(defparameter *metadata*
'(:title "about"
:description "pakuの自己紹介"))
(pi:define-element page ()
(pi:h
(section
@ -12,6 +16,4 @@
(defun on-get (params)
(declare (ignore params))
(view:render (page)
:title "about"
:description "pakuの自己紹介"))
(view:render (page) :metadata *metadata*))

View file

@ -6,14 +6,9 @@
(:export #:render))
(in-package #:hp/view)
(defun render (page &key status title description)
(defun render (page &key metadata status)
(jg:with-html-response
(and status (jg:set-response-status status))
(pi:elem-str
(let ((md (cmp:metadata :title title :description description))
(body (cmp:layout page)))
(pi:h
(if (jg:get-request-header "HX-Boosted")
(<> md body)
(cmp:document :metadata md
body)))))))
(cmp:document metadata
(cmp:layout page)))))