Improve view

This commit is contained in:
Akira Tempaku 2024-04-13 13:51:21 +09:00
parent f1c711ea43
commit 1d7f8b6ed5
5 changed files with 27 additions and 44 deletions

View file

@ -5,7 +5,7 @@
(:local-nicknames (#:fbr #:ningle-fbr))
(:local-nicknames (#:pi #:piccolo))
(:local-nicknames (#:view #:hp/view))
(:local-nicknames (#:cmp #:hp/components/**/*))
(:local-nicknames (#:cmp #:hp/components/*))
(:local-nicknames (#:mw #:hp/middlewares/*))
(:export #:start
#:stop

View file

@ -1,26 +0,0 @@
(defpackage #:hp/components/global/document
(:use #:cl)
(:local-nicknames (#:pi #:piccolo))
(:export #:document))
(in-package #:hp/components/global/document)
(pi:define-element document (title description)
(pi:h
(html :lang "ja"
(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

@ -1,10 +0,0 @@
(defpackage #:hp/components/global/layout
(:use #:cl)
(:local-nicknames (#:pi #:piccolo))
(:export #:layout))
(in-package #:hp/components/global/layout)
(pi:define-element layout ()
(pi:h
(body :hx-ext "head-support"
(main pi:children))))

View file

@ -1,8 +1,8 @@
(defpackage #:hp/components/global/not-found
(defpackage #:hp/components/not-found
(:use #:cl)
(:local-nicknames (#:pi #:piccolo))
(:export #:not-found-page))
(in-package #:hp/components/global/not-found)
(in-package #:hp/components/not-found)
(pi:define-element not-found-page ()
(pi:h

View file

@ -2,13 +2,32 @@
(:use #:cl)
(:local-nicknames (#:jg #:jingle))
(:local-nicknames (#:pi #:piccolo))
(:local-nicknames (#:cmp #:hp/components/**/*))
(:export #:render))
(in-package #:hp/view)
(defun render (page &key metadata status)
(pi:define-element document (title description)
(pi:h
(html :lang "ja"
(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の個人サイト")))
(body :hx-ext "head-support"
(main pi:children)))))
(defun render (page &key status metadata)
(jg:with-html-response
(and status (jg:set-response-status status))
(pi:elem-str
(cmp:document metadata
(cmp:layout page)))))
(pi:elem-str (document metadata page))))