coleslaw/plugins/matomo.lisp
2024-05-12 22:14:51 +02:00

25 lines
790 B
Common Lisp

(defpackage :coleslaw-matomo
(:use :cl)
(:export #:enable)
(:import-from :coleslaw #:add-injection))
(in-package :coleslaw-matomo)
(defvar *matomo-js*
"<script type="text/javascript">
var _paq = _paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u='//~a/';
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '~a']);
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);
})();
</script>")
(defun enable (&key matomo-url matomo-site)
(let ((snippet (format nil *matomo-js* matomo-url matomo-site)))
(add-injection (constantly snippet) :head)))