Commit 250fde78cbc87020c188fa1f7d0895301cd5868a

Thomas de Grivel 2013-12-03T06:04:12

asset-html-include

diff --git a/assets.lisp b/assets.lisp
index 6d7ddd2..f62f6d6 100644
--- a/assets.lisp
+++ b/assets.lisp
@@ -130,6 +130,8 @@
     (ignore-errors (format stream "~S" (asset-path asset)))
     (ignore-errors (format stream " ~S" (asset-source-path asset)))))
 
+(defgeneric asset-html-include (type name))
+
 ;;  Asset class -> extensions
 
 #+nil
@@ -176,6 +178,9 @@
 (defmethod asset-class-extensions ((class (eql 'css-asset)))
   (extensions #:css #:less))
 
+(defmethod asset-html-include ((type (eql :css)) name)
+  (format nil "<link rel=\"stylesheet\" href=\"/assets/~A.css\" type=\"text/css\" />" name))
+
 ;;    JS
 
 (defclass js-asset (preprocessed-asset) ())
@@ -185,3 +190,6 @@
 
 (defmethod asset-class-extensions ((class (eql 'js-asset)))
   (extensions #:js))
+
+(defmethod asset-html-include ((type (eql :js)) name)
+  (format nil "<script src=\"/assets/~A.js\" type=\"text/javascript\"></script>" name))
diff --git a/package.lisp b/package.lisp
index 1910668..ff2d936 100644
--- a/package.lisp
+++ b/package.lisp
@@ -33,6 +33,8 @@
    #:assets-dirs
    #:find-asset #:find-assets-from-spec #:find-assets-from-specs
    #:locate-precompiled-assets
+   ;;  Rendering
+   #:asset-html-include
    ;;  Precompile
    #:debug-msg
    #:msg