diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/_templates/layout.html | 43 | ||||
| -rw-r--r-- | docs/conf.py | 2 |
2 files changed, 44 insertions, 1 deletions
diff --git a/docs/_templates/layout.html b/docs/_templates/layout.html index 5736a26f..fce69b86 100644 --- a/docs/_templates/layout.html +++ b/docs/_templates/layout.html @@ -1,6 +1,39 @@ {% extends "!layout.html" %} {%- set current_version = "1.5.x circinus" %} {% block extrahead %} + {% if gtm_id and cookiebot_id %} + {# Cookiebot CMP — must load first so its auto-blocker can scan/block other tags #} + <script id="Cookiebot" + src="https://consent.cookiebot.com/uc.js" + data-cbid="{{ cookiebot_id }}" + data-blockingmode="auto" + type="text/javascript"></script> + + {# Google Consent Mode v2 defaults — deny everything until Cookiebot fires the update #} + <script> + window.dataLayer = window.dataLayer || []; + function gtag(){window.dataLayer.push(arguments);} + gtag('consent', 'default', { + 'ad_storage': 'denied', + 'ad_user_data': 'denied', + 'ad_personalization': 'denied', + 'analytics_storage': 'denied', + 'functionality_storage': 'denied', + 'personalization_storage': 'denied', + 'security_storage': 'granted', + 'wait_for_update': 500 + }); + gtag('set', 'ads_data_redaction', true); + </script> + + {# Google Tag Manager #} + <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': + new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], + j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= + 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); + })(window,document,'script','dataLayer','{{ gtm_id }}');</script> + {% endif %} + <style>#vyos-header-iframe{position:fixed;top:0;left:0;right:0;z-index:999999999;width:100%;border:none}</style> <style>#vyos-footer-iframe{width:100%;border:none}</style> <iframe src='https://vyos.io/iframes/header' id='vyos-header-iframe'></iframe> @@ -28,5 +61,13 @@ <script type="text/javascript" charset="utf8" src="{{ pathto("_static/js/codecopier.js", True) }}"></script> <script type="text/javascript" charset="utf8" src="{{ pathto("_static/js/sidebar.js", True) }}"></script> <script type="text/javascript" charset="utf8" src="{{ pathto("_static/js/footer.js", True) }}"></script> - </script> +{% endblock %} + +{% block body %} + {% if gtm_id and cookiebot_id %} + <noscript><iframe src="https://www.googletagmanager.com/ns.html?id={{ gtm_id }}" + height="0" width="0" style="display:none;visibility:hidden" + title="Google Tag Manager"></iframe></noscript> + {% endif %} + {{ super() }} {% endblock %} diff --git a/docs/conf.py b/docs/conf.py index da462b0e..083482a8 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -147,6 +147,8 @@ html_context = { 'github_repo': 'vyos-documentation', 'github_version': _github_version, 'conf_py_path': '/docs/', + 'gtm_id': os.environ.get('GTM_ID', ''), + 'cookiebot_id': os.environ.get('COOKIEBOT_ID', ''), } # sphinx-sitemap: baseurl already includes /en/rolling/, so skip lang+version |
