18 lines
629 B
Common Lisp
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/"))))
|