This commit is contained in:
Akira Tempaku 2024-04-19 22:00:46 +09:00
parent ff9a90a324
commit 47bc8cc9ee
6 changed files with 17 additions and 13 deletions

View file

@ -14,13 +14,13 @@
:port 3000))
(defun start ()
(uiop:run-program (if (cfg:is-dev-p)
(uiop:run-program (if (cfg:dev-mode-p)
"make dev"
"make build"))
(jg:start *app*))
(defun stop ()
(when (cfg:is-dev-p)
(when (cfg:dev-mode-p)
(uiop:run-program "make stop"))
(jg:stop *app*))

View file

@ -1,14 +1,17 @@
(defpackage #:hp/config
(:use #:cl)
(:import-from #:log4cl)
(:export #:*env*
#:is-dev-p
#:is-prod-p))
#:dev-mode-p
#:prod-mode-p))
(in-package #:hp/config)
(defparameter *env* (or (uiop:getenv "HP_ENV") "dev"))
(defun is-dev-p ()
(defun dev-mode-p ()
(string= *env* "dev"))
(defun is-prod-p ()
(defun prod-mode-p ()
(string= *env* "prod"))
(log:config :nofile)

View file

@ -1,7 +1,7 @@
(defpackage #:hp/routes/about
(:use #:cl)
(:local-nicknames (#:pi #:piccolo))
(:local-nicknames (#:view #:hp/view))
(:local-nicknames (#:view #:hp/view/*))
(:export #:handle-get))
(in-package #:hp/routes/about)

View file

@ -1,7 +1,7 @@
(defpackage #:hp/routes/index
(:use #:cl)
(:local-nicknames (#:pi #:piccolo))
(:local-nicknames (#:view #:hp/view))
(:local-nicknames (#:view #:hp/view/*))
(:export #:handle-get))
(in-package #:hp/routes/index)

View file

@ -2,7 +2,7 @@
(:use #:cl)
(:local-nicknames (#:jg #:jingle))
(:local-nicknames (#:pi #:piccolo))
(:local-nicknames (#:view #:hp/view))
(:local-nicknames (#:view #:hp/view/*))
(:export #:handle-not-found))
(in-package #:hp/routes/not-found)

View file

@ -1,19 +1,20 @@
(defpackage #:hp/view
(defpackage #:hp/view/renderer
(:use #:cl)
(:local-nicknames (#:jg #:jingle))
(:local-nicknames (#:pi #:piccolo))
(:local-nicknames (#:cfg #:hp/config))
(:local-nicknames (#:cmp #:hp/components/*))
(:export #:render
#:partial-render))
(in-package #:hp/view)
(in-package #:hp/view/renderer)
(defun render (page &key status metadata)
(jg:with-html-response
(and status (jg:set-response-status status))
(jg:set-response-status (or status :ok))
(pi:elem-str (cmp:document metadata
(cmp:layout page)))))
(defun partial-render (component &key status)
(jg:with-html-response
(and status (jg:set-response-status status))
(jg:set-response-status (or status :ok))
(pi:elem-str component)))