plugins/piwik.lisp (780 bytes)
1 (defpackage :coleslaw-piwik 2 (:use :cl) 3 (:export #:enable) 4 (:import-from :coleslaw #:add-injection)) 5 6 (in-package :coleslaw-piwik) 7 8 (defvar *piwik-js* 9 "<script type="text/javascript"> 10 var _paq = _paq || []; 11 _paq.push(['trackPageView']); 12 _paq.push(['enableLinkTracking']); 13 14 (function() { 15 var u='//~a/'; 16 _paq.push(['setTrackerUrl', u+'piwik.php']); 17 _paq.push(['setSiteId', '~a']); 18 var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; 19 g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s); 20 })(); 21 </script>") 22 23 (defun enable (&key piwik-url piwik-site) 24 (let ((snippet (format nil *piwik-js* piwik-url piwik-site))) 25 (add-injection (constantly snippet) :head)))