plugins/analytics.lisp (785 bytes)
1 (defpackage :coleslaw-analytics 2 (:use :cl) 3 (:export #:enable) 4 (:import-from :coleslaw #:add-injection)) 5 6 (in-package :coleslaw-analytics) 7 8 (defvar *analytics-js* 9 "<script type=\"text/javascript\"> 10 11 var _gaq = _gaq || []; 12 _gaq.push(['_setAccount', '~a']); 13 _gaq.push(['_trackPageview']); 14 15 (function() { 16 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 17 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 18 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 19 })(); 20 21 </script>") 22 23 (defun enable (&key tracking-code) 24 (let ((snippet (format nil *analytics-js* tracking-code))) 25 (add-injection (constantly snippet) :head)))