website/src/middlewares/assets-server.lisp
2024-04-22 21:54:17 +09:00

18 lines
629 B
Common Lisp

(defpackage #:hp/middlewares/assets-server
(:use #:cl)
(:import-from #:lack.middleware.static
#:*lack-middleware-static*)
(:export #:*assets-server*))
(in-package #:hp/middlewares/assets-server)
(defun exist-asset-file-p (path)
(let ((pathname (probe-file (concatenate 'string "assets" path))))
(and pathname (pathname-name pathname))))
(defparameter *assets-server*
(lambda (app)
(funcall *lack-middleware-static*
app
:path (lambda (path)
(and (exist-asset-file-p path) path))
:root (asdf:system-relative-pathname :hp "assets/"))))