bedrock/base/templates/base-protocol.html (121 lines of code) (raw):
{#
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at https://mozilla.org/MPL/2.0/.
#}
<!doctype html>
{# Note the "windows" class, without javascript platform-specific assets default to windows #}
<html class="windows no-js" lang="{{ LANG|replace('en-US', 'en') }}" dir="{{ DIR }}" data-country-code="{{ country_code }}" data-needs-consent="{{ needs_data_consent(country_code) }}" data-latest-firefox="{{ latest_firefox_version }}" data-esr-versions="{{ esr_firefox_versions|join(' ') }}" {% if settings.GTM_CONTAINER_ID %}data-gtm-container-id="{{ settings.GTM_CONTAINER_ID }}"{% endif %} {% if settings.STUB_ATTRIBUTION_RATE %}data-stub-attribution-rate="{{ settings.STUB_ATTRIBUTION_RATE }}"{% endif %} {% if settings.SENTRY_FRONTEND_DSN %}data-sentry-dsn="{{ settings.SENTRY_FRONTEND_DSN }}"{% endif %} {% block html_attrs %}{% endblock %}>
<head>
<meta charset="utf-8">{# Note: Must be within first 512 bytes of page #}
<!--[if !IE]><!-->
{{ js_bundle('site') }}
{% block experiments %}{% endblock %}
<!--<![endif]-->
<!--[if IE 9]>
{{ js_bundle('site-ie') }}
<![endif]-->
<!--
{% include "includes/careers-teaser.html" %}
-->
<meta name="viewport" content="width=device-width, initial-scale=1">
{% block extra_meta %}{% endblock %}
{% block shared_meta %}
<title>{% filter striptags %}{% block page_title_full %}{% block page_title_prefix %}{% endblock %}{% block page_title %}{% endblock %}{% endblock page_title_full %}{% block page_title_suffix %} — Mozilla{% endblock %}{% endfilter %}</title>
<meta name="description" content="{% filter striptags %}{% block page_desc %}{% endblock %}{% endfilter %}">
<meta property="og:type" content="website">
<meta property="og:site_name" content="Mozilla">
<meta property="og:locale" content="{{ LANG|replace("-", "_") }}">
<meta property="og:url" content="{% filter trim|absolute_url %}{% block page_og_url %}{{ settings.CANONICAL_URL + '/' + LANG + canonical_path }}{% endblock %}{% endfilter %}">
<meta property="og:image" content="{% filter trim|absolute_url %}{% block page_image %}{{ static('img/m24/og.png') }}{% endblock %}{% endfilter %}">
<meta property="og:title" content="{% filter striptags %}{% block page_og_title %}{{ self.page_title_full() }}{% endblock %}{% endfilter %}">
<meta property="og:description" content="{% filter striptags %}{% block page_og_desc %}{{ self.page_desc() }}{% endblock %}{% endfilter %}">
<meta property="fb:page_id" content="{% block facebook_id %}262134952380{# facebook.com/mozilla #}{% endblock %}">
<meta name="twitter:card" content="{% block twitter_card %}summary{% endblock %}">
<meta name="twitter:site" content="@{% block twitter_id %}mozilla{% endblock %}">
<meta name="twitter:domain" content="mozilla.org">
<meta name="twitter:app:name:googleplay" content="{% block android_app_name %}Firefox{% endblock %}">
<meta name="twitter:app:id:googleplay" content="{% block android_app_id %}org.mozilla.firefox{% endblock %}">
<meta name="twitter:app:name:iphone" content="{% block iphone_app_name %}Firefox{% endblock %}">
<meta name="twitter:app:id:iphone" content="{% block iphone_app_id %}989804926{% endblock %}">
<meta name="twitter:app:name:ipad" content="{% block ipad_app_name %}Firefox{% endblock %}">
<meta name="twitter:app:id:ipad" content="{% block ipad_app_id %}989804926{% endblock %}">
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="{% block page_ios_icon %}{{ static('img/favicons/mozilla/apple-touch-icon.png') }}{% endblock %}">
<link rel="icon" type="image/png" sizes="196x196" href="{% block page_favicon_large %}{{ static('img/favicons/mozilla/favicon-196x196.png') }}{% endblock %}">
<link rel="shortcut icon" href="{% block page_favicon %}{{ static('img/favicons/mozilla/favicon.ico') }}{% endblock %}">
{% block canonical_urls %}{% include 'includes/canonical-url.html' %}{% endblock %}
{% endblock shared_meta %}
{# keep the verification for the previous official mastodon profile #}
<link href="https://mastodon.social/@mozilla" rel="me">
{{ l10n_css() }}
<!--[if lt IE 9]>
{# Only needed for IE before v9 #}
<script src="{{ static('js/ie/libs/html5shiv.js') }}"></script>
<![endif]-->
<!--[if IE]>
{# Basic styles, only for IE9 and lower #}
{% block old_ie_styles %}
{{ css_bundle('common-old-ie') }}
{% endblock %}
<![endif]-->
<!--[if !IE]><!-->
{# Global styles, hidden from IE9 and lower #}
{% block site_css %}
{{ css_bundle('protocol-mozilla') }}
{% if ftl_file_is_active('navigation_refresh') and ftl_file_is_active('footer-refresh') %}
{{ css_bundle('m24-navigation-and-footer') }}
{% else %}
{{ css_bundle('legacy-navigation-and-footer') }}
{% endif %}
{% endblock %}
{# Page-specific styles, hidden from IE9 and lower #}
{% block page_css %}{% endblock %}
<!--<![endif]-->
{% block extrahead %}
{# Extra header stuff (scripts, styles, metadata, etc) seen by all browsers. Use the 'page_css' block for CSS you want to hide from IE9 and lower. #}
{% endblock %}
{% block js_pretrack %}{# include JavaScript that must be run pre GA tracking here #}{% endblock %}
{% block google_analytics %}
<!--[if IE 9]><!-->
{% include 'includes/google-analytics.html' %}
<!--<![endif]-->
{% endblock %}
</head>
<body {% if self.body_id() %}id="{% block body_id %}{% endblock %}" {% endif %}class="html-{{ DIR }} {% block body_class %}{% endblock %}" {% block body_attrs %}{% endblock %}>
<div id="strings"
data-global-close="{{ ftl('ui-close') }}"
data-global-next="{{ ftl('ui-next') }}"
data-global-previous="{{ ftl('ui-previous') }}"
{% block string_data %}{% endblock %}></div>
{% block consent_banner %}
{% include 'includes/banners/consent-banner.html' %}
{% endblock %}
{% block site_header %}
{% include 'includes/protocol/navigation/navigation.html' %}
{% endblock %}
{% block sub_navigation %}{% endblock %}
<div id="outer-wrapper">
{% block content %}{% endblock %}
{% block site_footer %}
{% include 'includes/protocol/footer/footer.html' %}
{% endblock %}
{# Banner is last in HTML as it's low priority for search engines and uses `data-nosnippet` (issue #8739) #}
{% block page_banner %}{% endblock %}
</div>
{# Issue 8444 #}
{% block sentry_client %}
{% if settings.SENTRY_FRONTEND_DSN and switch('sentry-js') %}
<!--[if !IE]><!-->
{# Sentry only runs on evergreen browsers so we exclude it from IE. #}
{{ js_bundle('sentry') }}
<!--<![endif]-->
{% endif %}
{% endblock %}
{% block site_js %}
<!--[if !IE]><!-->
{# Standard site JS bundles served to all evergreen browsers plus IE 10 and above. #}
{{ js_bundle('lib') }}
{{ js_bundle('fxa') }}
{{ js_bundle('data') }}
{% if ftl_file_is_active('navigation_refresh') and ftl_file_is_active('footer-refresh') %}
{{ js_bundle('m24-ui') }}
{% else %}
{{ js_bundle('ui') }}
{% endif %}
<!--<![endif]-->
<!--[if IE 9]>
{# IE9 has its own lib JS bundle containing dependencies for analytics and consent management. #}
{{ js_bundle('lib-ie') }}
<![endif]-->
{% endblock %}
{# Bug 1279291 #}
{% block stub_attribution %}
{% if settings.STUB_ATTRIBUTION_RATE %}
<!--[if IE 9]><!-->
{# Stub attribution is run on all evergreen browsers plus IE9 and above. #}
{{ js_bundle('stub-attribution') }}
<!--<![endif]-->
{% endif %}
{% endblock %}
<!--[if !IE]><!-->
{# Glean only runs on evergreen browsers so we exclude it from IE. #}
{% block glean %}
{% if switch('glean-analytics') %}
{{ js_bundle('glean') }}
{% endif %}
{% endblock %}
{% block js %}{% endblock %}
{% block third_party_js %}{% endblock %}
<!--<![endif]-->
{% block consent_banner_js %}
<!--[if IE 9]><!-->
{# Consent banner is shown to all evergreen browsers plus IE9 and above #}
{{ js_bundle('consent-banner') }}
<!--<![endif]-->
{% endblock %}
</body>
</html>