Remove bg, add header

This commit is contained in:
Akira Tempaku 2025-05-02 01:31:26 +09:00
parent f541321d55
commit 9503b56084
Signed by: paku
GPG key ID: 5B4E8402BCC50607
2 changed files with 37 additions and 27 deletions

View file

@ -0,0 +1,28 @@
(defpackage #:hp/components/header
(:use #:cl
#:hsx)
(:import-from #:jingle
#:request-uri)
(:export #:~header))
(in-package #:hp/components/header)
(defparameter *nav-menu*
'(("/bio" "bio")
("/work" "work")
("/blog" "blog")))
(defcomp ~header ()
(hsx
(header :class "flex justify-between pb-2 md:pb-4 border-b-1"
(h1 :class "text-2xl md:text-3xl font-bold"
(a :href "/"
"skyizwhite"))
(nav :class "flex items-end"
(ul :preload "mouseover" :class "flex gap-4 text-lg"
(loop
:for (href label) :in *nav-menu* :collect
(if (search href (request-uri jingle:*request*))
(hsx (li :class "text-pink-500"
label))
(hsx (li (a :href href :class "underline hover:text-pink-500"
label))))))))))

View file

@ -3,19 +3,14 @@
#:hsx)
(:import-from #:hp/lib/metadata
#:~metadata)
(:import-from #:jingle
#:request-uri)
(:import-from #:hp/components/header
#:~header)
(:export #:~layout))
(in-package #:hp/components/layout)
(defun bust-cache (url)
(format nil "~a?v=~a" url #.(get-universal-time)))
(defparameter *nav-menu*
'(("/bio" "bio")
("/work" "work")
("/blog" "blog")))
(defcomp ~layout (&key metadata children)
(hsx
(html :lang "ja"
@ -41,23 +36,10 @@
:hx-ext "head-support, response-targets, preload"
:hx-boost "true" :hx-target-404 "body" :hx-target-5* "body"
:class (<>
"bg-amber-50/90 flex flex-col h-[100svh] w-full max-w-[700px] "
"px-2 pt-2 mx-auto md:px-8 md:pt-8")
(header :class "flex justify-between pb-2 md:pb-4 border-b-1"
(h1 :class "text-2xl md:text-3xl font-bold"
(a :href "/"
"skyizwhite"))
(nav :class "flex items-end"
(ul
:preload "mouseover"
:class "flex gap-4 text-lg"
(loop
:for (href label) :in *nav-menu*
:collect
(if (search href (request-uri jingle:*request*))
(hsx (li :class "text-pink-500"
label))
(hsx (li (a :href href :class "underline hover:text-pink-500"
label))))))))
(main :class "flex-1 pt-2 pb-4 md:pt-4 md:pb-8 overflow-y-scroll "
children)))))
"bg-amber-50 flex flex-col h-[100svh] w-full max-w-[700px] "
"p-2 md:pt-6 mx-auto")
(~header)
(main :class "flex-1 px-2 py-6 md:px-4 md:py-8 overflow-y-scroll"
children)
(footer :class "flex p-2 justify-center text-sm border-t-1"
(p "© 2025 Akira Tempaku"))))))