Add support for Matomo (formerly Piwik) (#508)
Co-authored-by: Luiz F. A. de PrĂ¡ <luizdepra@users.noreply.github.com>
4 files modified
1 files added
| | |
| | | - [Felix](https://github.com/lazyyz) |
| | | - [Peter Duchnovsky](https://pduchnovsky.com) |
| | | - [Alex Miranda](https://ammiranda.com) |
| | | - [Alphonse Mariya](https://github.com/alfunx) |
| | |
| | | [params.cloudflare] |
| | | token = "token" |
| | | |
| | | # If you want to use Matomo(https://matomo.org) for analytics, add this section |
| | | [params.matomo] |
| | | # Default value is "1", overwrite this if you are cloud-hosting |
| | | siteID = "ABCDE" |
| | | # For cloud-hosting, use provided URL, e.g. example.matomo.cloud |
| | | serverURL = "analytics.example.com" |
| | | |
| | | # If you want to implement a Content-Security-Policy, add this section |
| | | [params.csp] |
| | | childsrc = ["'self'"] |
| | | fontsrc=["'self'", |
| | | "https://fonts.gstatic.com", |
| | | "https://cdn.jsdelivr.net/"] |
| | | formaction = ["'self'"] |
| | | framesrc = ["'self'"] |
| | | imgsrc = ["'self'"] |
| | | objectsrc = ["'none'"] |
| | | stylesrc = ["'self'", |
| | | "'unsafe-inline'", |
| | | "https://fonts.googleapis.com/", |
| | | "https://cdn.jsdelivr.net/"] |
| | | scriptsrc = ["'self'", |
| | | "'unsafe-inline'", |
| | | "https://www.google-analytics.com"] |
| | | prefetchsrc = ["'self'"] |
| | | childsrc = ["'self'"] |
| | | fontsrc = [ |
| | | "'self'", |
| | | "https://fonts.gstatic.com", |
| | | "https://cdn.jsdelivr.net/" |
| | | ] |
| | | formaction = ["'self'"] |
| | | framesrc = ["'self'"] |
| | | imgsrc = ["'self'"] |
| | | objectsrc = ["'none'"] |
| | | stylesrc = [ |
| | | "'self'", |
| | | "'unsafe-inline'", |
| | | "https://fonts.googleapis.com/", |
| | | "https://cdn.jsdelivr.net/" |
| | | ] |
| | | scriptsrc = [ |
| | | "'self'", |
| | | "'unsafe-inline'", |
| | | "https://www.google-analytics.com" |
| | | ] |
| | | prefetchsrc = ["'self'"] |
| | | |
| | | [taxonomies] |
| | | category = "categories" |
| | |
| | | {{ if and .Site.Params.cloudflare .Site.Params.cloudflare.token }} |
| | | {{- partial "analytics/cloudflare" . -}} |
| | | {{ end }} |
| | | |
| | | {{ if and .Site.Params.matomo .Site.Params.matomo.serverURL }} |
| | | {{- partial "analytics/matomo" . -}} |
| | | {{ end }} |
| | | </body> |
| | | |
| | | </html> |
| New file |
| | |
| | | <script type="application/javascript"> |
| | | var _paq = window._paq = window._paq || []; |
| | | /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ |
| | | _paq.push(['trackPageView']); |
| | | _paq.push(['enableLinkTracking']); |
| | | (function() { |
| | | var u="https://{{ $.Site.Params.matomo.serverURL }}/"; |
| | | _paq.push(['setTrackerUrl', u+'matomo.php']); |
| | | _paq.push(['setSiteId', '{{ $.Site.Params.matomo.siteID | default "1" }}']); |
| | | var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; |
| | | g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); |
| | | })(); |
| | | </script> |
| | |
| | | - type: string |
| | | name: token |
| | | label: token for Cloudflare Web Analytics |
| | | - type: object |
| | | name: matomo |
| | | label: Matomo (optional) |
| | | fields: |
| | | - type: string |
| | | name: siteID |
| | | label: Site ID for Matomo |
| | | - type: string |
| | | name: serverURL |
| | | label: URL for Matomo |
| | | - type: object |
| | | name: languages |
| | | fields: |