diff options
Diffstat (limited to 'docs/src/templates/partials/integrations')
| -rw-r--r-- | docs/src/templates/partials/integrations/analytics.html | 45 | ||||
| -rw-r--r-- | docs/src/templates/partials/integrations/analytics/google.html | 98 |
2 files changed, 9 insertions, 134 deletions
diff --git a/docs/src/templates/partials/integrations/analytics.html b/docs/src/templates/partials/integrations/analytics.html index 4b483046..ea27ef0c 100644 --- a/docs/src/templates/partials/integrations/analytics.html +++ b/docs/src/templates/partials/integrations/analytics.html @@ -1,49 +1,14 @@ -<!-- - Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com> - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - IN THE SOFTWARE. ---> - -<!-- Determine analytics provider --> +{#- + This file was automatically generated - do not edit +-#} {% if config.extra.analytics %} {% set provider = config.extra.analytics.provider %} {% endif %} - -<!-- Set up analytics provider --> {% if provider %} {% include "partials/integrations/analytics/" ~ provider ~ ".html" %} - - <!-- Consent necessary --> {% if config.extra.consent %} - <script> - if (typeof __md_analytics !== "undefined") { - var consent = __md_get("__consent") - if (consent && consent.analytics) - __md_analytics() - } - </script> - - <!-- Consent unnecessary --> + <script>var consent;"undefined"==typeof __md_analytics||(consent=__md_get("__consent"))&&consent.analytics&&__md_analytics()</script> {% else %} - <script> - if (typeof __md_analytics !== "undefined") - __md_analytics() - </script> + <script>"undefined"!=typeof __md_analytics&&__md_analytics()</script> {% endif %} {% endif %} diff --git a/docs/src/templates/partials/integrations/analytics/google.html b/docs/src/templates/partials/integrations/analytics/google.html index a9fa37d9..128854da 100644 --- a/docs/src/templates/partials/integrations/analytics/google.html +++ b/docs/src/templates/partials/integrations/analytics/google.html @@ -1,97 +1,7 @@ -<!-- - Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com> - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - IN THE SOFTWARE. ---> - -<!-- Determine analytics property --> +{#- + This file was automatically generated - do not edit +-#} {% if config.extra.analytics %} {% set property = config.extra.analytics.property | d("", true) %} {% endif %} - -<!-- Integrate with Google Analytics 4 --> -<script id="__analytics"> - function __md_analytics() { - window.dataLayer = window.dataLayer || [] - function gtag() { dataLayer.push(arguments) } - - /* Set up integration and send page view */ - gtag("js", new Date()) - gtag("config", "{{ property }}") - - /* Register event handlers after documented loaded */ - document.addEventListener("DOMContentLoaded", function() { - - /* Set up search tracking */ - if (document.forms.search) { - var query = document.forms.search.query - query.addEventListener("blur", function() { - if (this.value) - gtag("event", "search", { search_term: this.value }) - }) - } - - /* Set up feedback, i.e. "Was this page helpful?" */ - document$.subscribe(function() { - var feedback = document.forms.feedback - if (typeof feedback === "undefined") - return - - /* Send feedback to Google Analytics */ - for (var button of feedback.querySelectorAll("[type=submit]")) { - button.addEventListener("click", function(ev) { - ev.preventDefault() - - /* Retrieve and send data */ - var page = document.location.pathname - var data = this.getAttribute("data-md-value") - gtag("event", "feedback", { page, data }) - - /* Disable form and show note, if given */ - feedback.firstElementChild.disabled = true - var note = feedback.querySelector( - ".md-feedback__note [data-md-value='" + data + "']" - ) - if (note) - note.hidden = false - }) - - /* Show feedback */ - feedback.hidden = false - } - }) - - /* Send page view on location change */ - location$.subscribe(function(url) { - gtag("config", "{{ property }}", { - page_path: url.pathname - }) - }) - }) - - /* Create script tag */ - var script = document.createElement("script") - script.async = true - script.src = "https://www.googletagmanager.com/gtag/js?id={{ property }}" - - /* Inject script tag */ - var container = document.getElementById("__analytics") - container.insertAdjacentElement("afterEnd", script) - } -</script> +<script id="__analytics">function __md_analytics(){function n(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],n("js",new Date),n("config","{{ property }}"),document.addEventListener("DOMContentLoaded",function(){document.forms.search&&document.forms.search.query.addEventListener("blur",function(){this.value&&n("event","search",{search_term:this.value})}),document$.subscribe(function(){var a=document.forms.feedback;if(void 0!==a)for(var e of a.querySelectorAll("[type=submit]"))e.addEventListener("click",function(e){e.preventDefault();var t=document.location.pathname,e=this.getAttribute("data-md-value");n("event","feedback",{page:t,data:e}),a.firstElementChild.disabled=!0;e=a.querySelector(".md-feedback__note [data-md-value='"+e+"']");e&&(e.hidden=!1)}),a.hidden=!1}),location$.subscribe(function(e){n("config","{{ property }}",{page_path:e.pathname})})});var e=document.createElement("script");e.async=!0,e.src="https://www.googletagmanager.com/gtag/js?id={{ property }}",document.getElementById("__analytics").insertAdjacentElement("afterEnd",e)}</script> |
