plugins/gfycat.lisp (667 bytes)
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)))