|
@@ -0,0 +1,25 @@
|
|
1
|
+(defpackage :coleslaw-gfycat
|
|
2
|
+ (:use :cl)
|
|
3
|
+ (:export #:enable)
|
|
4
|
+ (:import-from :coleslaw #:add-injection
|
|
5
|
+ #:content
|
|
6
|
+ #:tag-p))
|
|
7
|
+
|
|
8
|
+(in-package :coleslaw-gfycat)
|
|
9
|
+
|
|
10
|
+(defvar *gfycat-header*
|
|
11
|
+ "<script>
|
|
12
|
+ (function(d, t) {
|
|
13
|
+ var g = d.createElement(t),
|
|
14
|
+ s = d.getElementsByTagName(t)[0];
|
|
15
|
+ g.src = 'http://assets.gfycat.com/js/gfyajax-0.517d.js';
|
|
16
|
+ s.parentNode.insertBefore(g, s);
|
|
17
|
+}(document, 'script'));
|
|
18
|
+</script>")
|
|
19
|
+
|
|
20
|
+(defun enable ()
|
|
21
|
+ (flet ((inject-p (x)
|
|
22
|
+ (when (and (typep x 'content)
|
|
23
|
+ (tag-p "gfycat" x))
|
|
24
|
+ *gfycat-header*)))
|
|
25
|
+ (add-injection #'inject-p :head)))
|