Improve
This commit is contained in:
parent
5a0e0016e9
commit
0602391977
4 changed files with 17 additions and 8 deletions
|
@ -8,7 +8,7 @@
|
||||||
(:export #:*app*))
|
(:export #:*app*))
|
||||||
(in-package #:hp/app)
|
(in-package #:hp/app)
|
||||||
|
|
||||||
(defparameter *app* (jg:make-app :address "localhost"
|
(defparameter *app* (jg:make-app :address env:*address*
|
||||||
:port env:*port*))
|
:port env:*port*))
|
||||||
|
|
||||||
(fbr:assign-routes *app* :system "hp" :directory "src/routes")
|
(fbr:assign-routes *app* :system "hp" :directory "src/routes")
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
(:use #:cl)
|
(:use #:cl)
|
||||||
(:export #:dev-mode-p
|
(:export #:dev-mode-p
|
||||||
#:prod-mode-p
|
#:prod-mode-p
|
||||||
#:*port*))
|
#:*port*
|
||||||
|
#:*address*))
|
||||||
(in-package #:hp/env)
|
(in-package #:hp/env)
|
||||||
|
|
||||||
(defmacro defenv (name env &key default parser)
|
(defmacro defenv (name env &key default parser)
|
||||||
|
@ -14,6 +15,7 @@
|
||||||
,default)))))
|
,default)))))
|
||||||
|
|
||||||
(defenv *env* "HP_ENV" :default "dev")
|
(defenv *env* "HP_ENV" :default "dev")
|
||||||
|
(defenv *address* "HP_ADDRESS" :default "localhost")
|
||||||
(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 ()
|
||||||
|
|
|
@ -7,16 +7,19 @@
|
||||||
#:*app*)
|
#:*app*)
|
||||||
(:export #:start
|
(:export #:start
|
||||||
#:stop
|
#:stop
|
||||||
#:update))
|
#:reload))
|
||||||
(in-package #:hp)
|
(in-package #:hp)
|
||||||
|
|
||||||
(defun start ()
|
(defun start ()
|
||||||
(jg:start *app*))
|
(jg:start *app*)
|
||||||
|
(when (env:dev-mode-p)
|
||||||
|
(uiop:run-program (format nil "open http://~a:~a"
|
||||||
|
env:*address* env:*port*))))
|
||||||
|
|
||||||
(defun stop ()
|
(defun stop ()
|
||||||
(jg:stop *app*))
|
(jg:stop *app*))
|
||||||
|
|
||||||
(defun update ()
|
(defun reload ()
|
||||||
(stop)
|
(stop)
|
||||||
(ql:quickload :hp/app)
|
(ql:quickload :hp/app)
|
||||||
(start))
|
(start))
|
||||||
|
|
|
@ -7,12 +7,16 @@
|
||||||
|
|
||||||
(defparameter *metadata*
|
(defparameter *metadata*
|
||||||
'(:title "404 Not Found"
|
'(:title "404 Not Found"
|
||||||
:description "お探しのページは見つかりませんでした。"))
|
:description "お探しのページは削除されたか、URLが間違っている可能性があります。"))
|
||||||
|
|
||||||
(defcomp page ()
|
(defcomp page ()
|
||||||
(hsx
|
(hsx
|
||||||
(h1 :class "text-red-600"
|
(div :class "flex flex-col justify-center items-center h-full gap-4"
|
||||||
"404 Not Found")))
|
(h1 :class "text-2xl text-red-600"
|
||||||
|
"404 Not Found")
|
||||||
|
(p (getf *metadata* :description))
|
||||||
|
(a :href "/" :class "text-pink-600"
|
||||||
|
"トップページに戻る"))))
|
||||||
|
|
||||||
(defun handle-not-found ()
|
(defun handle-not-found ()
|
||||||
(jg:set-response-status :not-found)
|
(jg:set-response-status :not-found)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue