provide plugin for matomo

This commit is contained in:
Anton Wilhelm 2019-04-14 16:48:38 +02:00 committed by Anton Wilhelm
commit 5a75bf6cb6
2 changed files with 42 additions and 0 deletions

37
src/plugins/matomo.js Normal file
View file

@ -0,0 +1,37 @@
function appendScript(options) {
const script = document.createElement('script')
script.async = true
script.src = options.host + '/matomo.js'
document.body.appendChild(script)
}
function init(options) {
window._paq = window._paq || []
window._paq.push(['trackPageView'])
window._paq.push(['enableLinkTracking'])
setTimeout(function() {
appendScript(options)
window._paq.push(['setTrackerUrl', options.host + '/matomo.php'])
window._paq.push(['setSiteId', options.id + ''])
}, 0)
}
function collect() {
if (!window._paq) {
init($docsify.matomo)
}
window._paq.push(['setCustomUrl', window.location.hash.substr(1)])
window._paq.push(['setDocumentTitle', document.title])
window._paq.push(['trackPageView'])
}
const install = function (hook) {
if (!$docsify.matomo) {
console.error('[Docsify] matomo is required.')
return
}
hook.beforeEach(collect)
}
$docsify.plugins = [].concat(install, $docsify.plugins)