website/src/app.lisp

43 lines
1 KiB
Common Lisp
Raw Normal View History

2024-04-12 03:49:34 +09:00
(defpackage #:hp
(:nicknames #:hp/app)
2024-02-02 01:07:19 +09:00
(:use #:cl)
2024-02-13 20:34:31 +09:00
(:local-nicknames (#:jg #:jingle))
2024-02-14 01:18:20 +09:00
(:local-nicknames (#:fbr #:ningle-fbr))
2024-06-15 17:28:29 +09:00
(:local-nicknames (#:env #:hp/env))
2024-04-20 07:45:44 +09:00
(:local-nicknames (#:mw #:hp/middlewares/*))
2024-10-03 14:48:42 +09:00
(:import-from #:hp/renderer)
2024-04-12 03:49:34 +09:00
(:export #:start
#:stop
#:update))
(in-package #:hp)
2024-02-02 01:07:19 +09:00
(defparameter *watch-process* nil)
2024-04-12 03:49:34 +09:00
(defparameter *app* (jg:make-app :address "localhost"
2024-06-15 17:28:29 +09:00
:port env:*port*))
2024-02-14 00:15:37 +09:00
2024-04-12 03:49:34 +09:00
(defun start ()
(when (env:dev-mode-p)
(setf *watch-process* (uiop:launch-program "make watch")))
2024-04-12 03:49:34 +09:00
(jg:start *app*))
2024-02-14 00:15:37 +09:00
2024-04-12 03:49:34 +09:00
(defun stop ()
(when (env:dev-mode-p)
(uiop:terminate-process *watch-process*))
2024-04-12 03:49:34 +09:00
(jg:stop *app*))
2024-04-13 02:28:41 +09:00
(defun setup ()
(jg:clear-middlewares *app*)
(jg:clear-routing-rules *app*)
2024-04-22 16:07:20 +09:00
(fbr:assign-routes *app* :system "hp" :directory "src/routes")
(jg:install-middleware *app* mw:*path-normalizer*)
2024-04-25 21:08:56 +09:00
(jg:install-middleware *app* mw:*public-server*)
2024-04-22 16:07:20 +09:00
(jg:install-middleware *app* mw:*recoverer*))
2024-04-13 02:28:41 +09:00
(defun update ()
(stop)
2024-04-25 17:19:40 +09:00
(ql:quickload :hp)
2024-04-13 02:28:41 +09:00
(start))
(setup)