Change *asset-{url,path}-prefix* to *assets-{url,path}-template*.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
diff --git a/asset.lisp b/asset.lisp
index 6d369ee..cd1d698 100644
--- a/asset.lisp
+++ b/asset.lisp
@@ -44,14 +44,14 @@
(asset-source-ext asset))
(defmethod asset-url ((asset asset))
- (let ((name (asset-name asset))
- (ext (asset-ext asset)))
- (str *asset-url-prefix* name (when ext ".") ext)))
+ (expand-uri nil *assets-url-template*
+ :name (asset-name asset)
+ :ext (string-downcase (asset-ext asset))))
(defmethod asset-path ((asset asset))
- (let ((name (asset-name asset))
- (ext (asset-ext asset)))
- (str *asset-path-prefix* name (when ext ".") ext)))
+ (expand-uri nil *assets-path-template*
+ :name (asset-name asset)
+ :ext (string-downcase (asset-ext asset))))
(defmethod asset-source-path ((asset asset))
(with-slots (name source-dir source-ext) asset
diff --git a/config.lisp b/config.lisp
index 9d76569..3e3f2ff 100644
--- a/config.lisp
+++ b/config.lisp
@@ -45,9 +45,8 @@
(defparameter *precompiled-assets*
*default-precompiled-assets*)
-(defvar *asset-url-prefix* "/assets/")
-
-(defvar *asset-path-prefix* "public/assets/")
+(defvar *assets-url-template* "/assets{/name}{.ext}")
+(defvar *assets-path-template* "public/assets{/name}{.ext}")
;; Config stanzas
diff --git a/lowh.triangle.assets.asd b/lowh.triangle.assets.asd
index 5baab85..6afdea9 100644
--- a/lowh.triangle.assets.asd
+++ b/lowh.triangle.assets.asd
@@ -35,7 +35,7 @@
(:file "config" :depends-on ("package"))
(:file "lib" :depends-on ("package"))
(:file "extensions" :depends-on ("package"))
- (:file "asset" :depends-on ("extensions" "lib"))
+ (:file "asset" :depends-on ("config" "extensions" "lib"))
(:file "find" :depends-on ("asset"))
(:file "font" :depends-on ("asset"))
(:file "preprocess" :depends-on ("find"))
diff --git a/package.lisp b/package.lisp
index c2ef610..c5353bc 100644
--- a/package.lisp
+++ b/package.lisp
@@ -24,8 +24,8 @@
(:export
;; Config
#:*debug*
- #:*asset-url-prefix*
- #:*asset-path-prefix*
+ #:*assets-url-template*
+ #:*assets-path-template*
#:*assets-dirs*
#:assets-dir
#:*precompiled-assets*