diff --git a/asset.lisp b/asset.lisp
index 33b0968..98cc8e3 100644
--- a/asset.lisp
+++ b/asset.lisp
@@ -93,7 +93,8 @@
(if (slot-boundp asset 'source-path)
#1=(slot-value asset 'source-path)
(setf #1# (with-slots (name source-dir source-ext) asset
- (str source-dir name source-ext)))))
+ (str source-dir name
+ (string-downcase source-ext))))))
(defmethod print-object ((asset asset) stream)
(print-unreadable-object (asset stream :type t)
@@ -138,7 +139,7 @@
(ensure-directories-exist output)
(let ((path (asset-source-path asset)))
;;(msg "CP ~A" path)
- (copy-files path output :replace t :update t))
+ (cl-fad:copy-file path output :overwrite t))
nil)
(defmethod asset-include ((output null)
diff --git a/find.lisp b/find.lisp
index 3a8f4bf..e898baf 100644
--- a/find.lisp
+++ b/find.lisp
@@ -46,7 +46,7 @@
assets)
(let ((absolute-dir (truename dir))
(assets assets))
- (dolist (path (reverse (directory (str dir name ext))))
+ (dolist (path (reverse (directory (str dir name (string-downcase ext)))))
(unless (char= #\. (char (pathname-name path) 0))
(let* ((name.ext (enough-namestring (truename path) absolute-dir))
(name (if ext
@@ -78,7 +78,7 @@
(dir string)
(name string)
(ext null)
- assets)
+ (assets list))
(when (setq ext (asset-class-extensions type))
(find-assets type dir name ext assets)))
@@ -88,7 +88,7 @@
(directories cons)
(name string)
ext
- assets)
+ (assets list))
(reduce (lambda (assets dir)
(declare (type string dir))
(find-assets type dir name ext assets))
@@ -96,9 +96,9 @@
:initial-value assets))
(defmethod find-assets (type (dir null) name ext assets)
- (let ((dir (assets-dirs)))
- (when dir
- (find-assets type dir name ext assets))))
+ (let ((dirs (assets-dirs)))
+ (when dirs
+ (find-assets type dirs name ext assets))))
;; Resolve class
@@ -123,11 +123,9 @@
(defun find-assets-from-spec (spec &optional class assets)
(labels ((assets-matching (class name ext)
(if class
- (let ((new (find-assets class nil name
- (asset-class-extensions class)
- assets)))
- (unless (eq new assets)
- new))
+ (find-assets class nil name
+ (asset-class-extensions class)
+ assets)
(when ext
(some (lambda (class) (assets-matching class name ext))
(extension-asset-classes ext))))))
diff --git a/package.lisp b/package.lisp
index 3a2dd11..317c5be 100644
--- a/package.lisp
+++ b/package.lisp
@@ -24,13 +24,15 @@
(:nicknames :RoL-ext)
(:export #:.css
#:.eot
+ #:.html
#:.jpeg
#:.jpg
#:.js
#:.png
#:.svg
#:.ttf
- #:.woff))))
+ #:.woff
+ #:.woff2))))
(defpackage :RoL-assets
(:use :cl :debug :alexandria :RoL-ext :RoL-files :RoL-uri :str)