diff --git a/src/components/header.lisp b/src/components/header.lisp index ca08c9b..9546095 100644 --- a/src/components/header.lisp +++ b/src/components/header.lisp @@ -7,7 +7,7 @@ (defparameter *nav-menu* '(("/about" "about") - ("/works" "works") + ("/work" "work") ("/blog" "blog"))) (defcomp ~pc-header () diff --git a/src/lib/cms.lisp b/src/lib/cms.lisp index f374ad9..7f75c80 100644 --- a/src/lib/cms.lisp +++ b/src/lib/cms.lisp @@ -9,7 +9,7 @@ #:microcms-service-domain #:microcms-api-key) (:export #:get-about - #:get-works + #:get-work #:get-blog-list #:get-blog-detail)) (in-package #:website/lib/cms) @@ -27,8 +27,8 @@ (define-object-client about) (memorize get-about) -(define-object-client works) -(memorize get-works) +(define-object-client work) +(memorize get-work) (define-list-client blog) (memorize get-blog-list) diff --git a/src/renderer.lisp b/src/renderer.lisp index 7891cdd..7863e38 100644 --- a/src/renderer.lisp +++ b/src/renderer.lisp @@ -16,9 +16,7 @@ (defmethod jingle:process-response :around ((app jingle:app) result) (when (eq (request-method *request*) :get) - (if (context :no-cache) - (set-response-header :cache-control "private, no-store, must-revalidate") - (set-response-header :cache-control "public, max-age=60"))) + (set-response-header :cache-control "public, max-age=60")) (cond ((api-request-p) (set-response-header :content-type "application/json; charset=utf-8") (call-next-method app (to-json result))) diff --git a/src/routes/about.lisp b/src/routes/about.lisp index 22c5241..1fd330c 100644 --- a/src/routes/about.lisp +++ b/src/routes/about.lisp @@ -17,14 +17,13 @@ (defun handle-get (params) (setf (context :metadata) *metadata*) (with-request-params ((draft-key "draft-key" nil)) params - (setf (context :no-cache) draft-key) (let ((about (get-about :query (list :draft-key draft-key)))) (hsx (<> (and draft-key (hsx (p :class "text-lg text-pink-500" "下書きモード"))) (article :class "prose max-w-none" (h1 "About") - (div :class "flex justify-center" + (div :class "flex justify-center" (figure :class "flex flex-col items-center" (img :src (accesses about :avatar :url) diff --git a/src/routes/api/revalidate.lisp b/src/routes/api/revalidate.lisp index 03d4a4b..7c0457e 100644 --- a/src/routes/api/revalidate.lisp +++ b/src/routes/api/revalidate.lisp @@ -8,8 +8,7 @@ (:import-from #:website/helper #:get-request-body-plist) (:import-from #:website/lib/cms - #:get-about - #:get-works) + #:get-about) (:export #:handle-post)) (in-package #:website/routes/api/revalidate) @@ -21,6 +20,5 @@ (return-from handle-post '(:|message| "Invalid token"))) (let* ((body (get-request-body-plist)) (api (getf body :|api|))) - (cond ((string= api "about") (clear-cache 'get-about)) - ((string= api "works") (clear-cache 'get-works))) + (cond ((string= api "about") (clear-cache 'get-about))) '(:|message| "ok"))) diff --git a/src/routes/work.lisp b/src/routes/work.lisp new file mode 100644 index 0000000..c1e6cf4 --- /dev/null +++ b/src/routes/work.lisp @@ -0,0 +1,19 @@ +(defpackage #:website/routes/work + (:use #:cl + #:hsx + #:jingle) + (:import-from #:website/lib/cms + #:get-work) + (:import-from #:website/lib/time + #:datetime + #:jp-datetime) + (:export #:handle-get)) +(in-package #:website/routes/work) + +(defparameter *metadata* + (list :title "work")) + +(defun handle-get (params) + (declare (ignore params)) + (setf (context :metadata) *metadata*) + (hsx (p "coming soon"))) diff --git a/src/routes/works.lisp b/src/routes/works.lisp deleted file mode 100644 index 9110875..0000000 --- a/src/routes/works.lisp +++ /dev/null @@ -1,31 +0,0 @@ -(defpackage #:website/routes/works - (:use #:cl - #:hsx - #:jingle) - (:import-from #:website/lib/cms - #:get-works) - (:import-from #:website/lib/time - #:datetime - #:jp-datetime) - (:export #:handle-get)) -(in-package #:website/routes/works) - -(defparameter *metadata* - (list :title "works")) - -(defun handle-get (params) - (setf (context :metadata) *metadata*) - (with-request-params ((draft-key "draft-key" nil)) params - (setf (context :no-cache) draft-key) - (let ((works (get-works :query (list :draft-key draft-key)))) - (hsx - (<> - (and draft-key (hsx (p :class "text-lg text-pink-500" "下書きモード"))) - (article :class "prose max-w-none" - (h1 "Works") - (raw! (getf works :content)) - (p :class "text-right" - "(最終更新:" - (|time| :datetime (datetime (getf works :revised-at)) - (jp-datetime (getf works :revised-at))) - ")")))))))