coleslaw/plugins/matomo.lisp

26 lines
790 B
Common Lisp
Raw Normal View History

(defpackage :coleslaw-matomo
2017-07-31 16:54:54 +02:00
(:use :cl)
(:export #:enable)
(:import-from :coleslaw #:add-injection))
(in-package :coleslaw-matomo)
2017-07-31 16:54:54 +02:00
(defvar *matomo-js*
2017-07-31 16:54:54 +02:00
"<script type="text/javascript">
var _paq = _paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
2017-08-03 21:44:39 +02:00
var u='//~a/';
_paq.push(['setTrackerUrl', u+'matomo.php']);
2017-08-03 21:44:39 +02:00
_paq.push(['setSiteId', '~a']);
2017-07-31 16:54:54 +02:00
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
2017-07-31 16:54:54 +02:00
})();
</script>")
(defun enable (&key matomo-url matomo-site)
(let ((snippet (format nil *matomo-js* matomo-url matomo-site)))
2017-07-31 16:54:54 +02:00
(add-injection (constantly snippet) :head)))