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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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