-
Notifications
You must be signed in to change notification settings - Fork 0
/
image.lisp
38 lines (33 loc) · 1.41 KB
/
image.lisp
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
;;
;; RoL-assets - Asset pipeline
;;
;; Copyright 2012-2015 Thomas de Grivel <thomas@lowh.net>
;;
;; Permission to use, copy, modify, and distribute this software for any
;; purpose with or without fee is hereby granted, provided that the above
;; copyright notice and this permission notice appear in all copies.
;;
;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
;; WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
;; MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
;; ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
;; WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
;; ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
;; OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
;;
(in-package :RoL-assets)
;; Image
(defclass image-asset (asset) ())
(defmethod asset-class-extensions ((class (eql 'image-asset)))
'(.gif .ico .jpeg .jpg .png .svg .svgz .wbmp))
(defmethod asset-include ((output stream)
(context (eql :html))
(asset image-asset)
&key alt &allow-other-keys)
(write-string "<img src=\"" output)
(write-string (quote-html (asset-url asset)) output)
(write-string "\" alt=\"" output)
(when alt (write-string (quote-html alt) output))
(write-string "\"/>
" output)
(values))