Flexible Lisp Blogware. Fork for personal use. Mirrored from https://github.com/kingcons/coleslaw originally.

analytics.lisp 785B

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