166 lines
10 KiB
Text
166 lines
10 KiB
Text
|
|
{% from "article.css.j2" import article_css %}<!DOCTYPE html>
|
|||
|
|
<html {% if page_direction %} dir="{{ page_direction }}"{% endif %}{% if page_language %} lang={{ page_language }}{% endif %} prefix="og: https://ogp.me/ns#">
|
|||
|
|
<head>
|
|||
|
|
<meta charset="utf-8">
|
|||
|
|
<title>{{ article_title }}</title>
|
|||
|
|
<meta name="viewport"
|
|||
|
|
content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
|
|||
|
|
<meta name="format-detection" content="telephone=no"/>
|
|||
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
|||
|
|
<meta name="MobileOptimized" content="176"/>
|
|||
|
|
<meta name="HandheldFriendly" content="True"/>
|
|||
|
|
|
|||
|
|
<meta property="og:type" content="article"/>
|
|||
|
|
<meta property="og:title" content="{{ article_title }}"/>
|
|||
|
|
<meta property="og:site_name" content="{{ site_title }}"/>
|
|||
|
|
<meta property="og:url" content="{{ article_url }}"/>
|
|||
|
|
{% if article_image_source %}
|
|||
|
|
<meta property="og:image" content="{{ article_image_source }}"/>
|
|||
|
|
{% endif %}
|
|||
|
|
<meta name="twitter:card" content="summary_large_image"/>
|
|||
|
|
{% if article_author %}<meta property="article:author" content="{{ article_author }}"/>{% endif %}
|
|||
|
|
|
|||
|
|
{% if noindex %}<meta name="robots" content="noindex" />{% endif %}
|
|||
|
|
|
|||
|
|
{% if site_favicon %}
|
|||
|
|
<link rel="icon" href="{{ site_favicon }}" />
|
|||
|
|
{% endif %}
|
|||
|
|
<style>
|
|||
|
|
{{ article_css() }}
|
|||
|
|
</style>
|
|||
|
|
|
|||
|
|
<script type="text/javascript">
|
|||
|
|
const cancelCurrentLink = function () {
|
|||
|
|
delete document.body.dataset.currentLink;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
const goToCurrentLink = function () {
|
|||
|
|
const currentLinkHref = document.body.dataset.currentLink;
|
|||
|
|
if (currentLinkHref) {
|
|||
|
|
delete document.body.dataset.currentLink;
|
|||
|
|
document.location.href = currentLinkHref;
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
document.addEventListener("click", (e) => {
|
|||
|
|
let target = e.target.closest("a");
|
|||
|
|
if (target) {
|
|||
|
|
// if the click was on or within an <a>
|
|||
|
|
if (!target.href.includes("cloudfront.net") &&
|
|||
|
|
!target.href.includes("azureedge.net") &&
|
|||
|
|
!target.href.includes("global.ssl.fastly.net")) {
|
|||
|
|
e.preventDefault();
|
|||
|
|
document.body.dataset.currentLink = target.href;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
</script>
|
|||
|
|
</head>
|
|||
|
|
<body>
|
|||
|
|
<div class="snap-wrapper">
|
|||
|
|
<a href="#snap-main" class="snap-skip-link">Skip to main content</a>
|
|||
|
|
|
|||
|
|
<details class="snap-trust-header">
|
|||
|
|
<summary class="snap-trust-header__header">
|
|||
|
|
<div class="snap-trust-header__header-text">
|
|||
|
|
{{ gettext("How do I know that I can trust this page?") }}
|
|||
|
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="snap-trust-header__expand-icon">
|
|||
|
|
<path d="M12.0132 15.5154C12.282 15.5133 12.5392 15.4067 12.7307 15.2181L17.6953 10.2535C17.8899 10.0598 17.9996 9.79673 18.0001 9.52216C18.0008 9.24758 17.8922 8.98401 17.6986 8.7894C17.5048 8.59479 17.2417 8.4851 16.9671 8.48455C16.6925 8.48391 16.429 8.59243 16.2343 8.78608L12.0001 13.0201L7.76585 8.78608H7.76596C7.50378 8.52519 7.12238 8.42384 6.76536 8.52038C6.40823 8.61693 6.12979 8.89664 6.03484 9.2541C5.93989 9.61155 6.04286 9.99261 6.30504 10.2535L11.2696 15.2181C11.4674 15.413 11.7354 15.5201 12.0129 15.5154H12.0132Z" fill="#333333"></path>
|
|||
|
|
</svg>
|
|||
|
|
</div>
|
|||
|
|
</summary>
|
|||
|
|
<div class="snap-trust-header__content">
|
|||
|
|
{{ gettext('This story is a copy of an article from <a href="{site_url}" class="snap-trust-header__sitelink">{site_title}</a>. It is delivered to you from a trusted archive to assure its availability over time.').format(site_url=site_url, site_title=site_title) }} <p>
|
|||
|
|
<a href="{{ article_url }}" class="snap-footer-link">
|
|||
|
|
{{ gettext("View the article source") }}
|
|||
|
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|||
|
|
<path
|
|||
|
|
d="M19.7212 13.0822C19.3072 13.0822 18.9712 13.4189 18.9712 13.8322V18.9712H5.02881V5.02881H10.167C10.5818 5.02881 10.917 4.69279 10.917 4.27881C10.917 3.86483 10.5818 3.52881 10.167 3.52881H4.27881C3.86405 3.52881 3.52881 3.86483 3.52881 4.27881V19.7212C3.52881 20.136 3.86405 20.4712 4.27881 20.4712H19.7212C20.136 20.4712 20.4712 20.136 20.4712 19.7212V13.8322C20.4712 13.4197 20.136 13.0822 19.7212 13.0822Z"
|
|||
|
|
fill="#222F3A"></path>
|
|||
|
|
<path
|
|||
|
|
d="M19.7212 3.52881H14.1622C13.7474 3.52881 13.4122 3.86483 13.4122 4.27881C13.4122 4.69279 13.7474 5.02881 14.1622 5.02881H17.9108L11.9978 10.9418C11.7045 11.2351 11.7045 11.7091 11.9978 12.0023C12.144 12.1485 12.3361 12.222 12.528 12.222C12.7201 12.222 12.912 12.1485 13.0583 12.0023L18.9713 6.08927V9.83927C18.9713 10.2532 19.3073 10.5893 19.7213 10.5893C20.136 10.5893 20.4713 10.2532 20.4713 9.83927V4.27887C20.4713 3.86411 20.136 3.52887 19.7213 3.52887L19.7212 3.52881Z"
|
|||
|
|
fill="#222F3A"></path>
|
|||
|
|
</svg>
|
|||
|
|
</a>
|
|||
|
|
</p>
|
|||
|
|
</div>
|
|||
|
|
</details>
|
|||
|
|
|
|||
|
|
<header class="snap-page-header">
|
|||
|
|
<nav class="snap-page-header-nav">
|
|||
|
|
{% if article_mirror_url %}<a href="{{ article_mirror_url }}">{% endif %}
|
|||
|
|
<img src="{{ site_logo }}" alt="{{ site_title }}" class="snap-page-header-logo">
|
|||
|
|
{% if article_mirror_url %}</a>{% endif %}
|
|||
|
|
</nav>
|
|||
|
|
</header>
|
|||
|
|
<main id="snap-main">
|
|||
|
|
<header class="snap-article-header">
|
|||
|
|
<h1>{{ article_title }}</h1>
|
|||
|
|
<div class="snap-byline">
|
|||
|
|
{{ article_published }} - {{ site_title }}
|
|||
|
|
</div>
|
|||
|
|
</header>
|
|||
|
|
{% if article_image %}
|
|||
|
|
<figure>
|
|||
|
|
<img src="{{ article_image }}">
|
|||
|
|
{% if article_image_caption %}
|
|||
|
|
<figcaption>{{ article_image_caption }}</figcaption>
|
|||
|
|
{% endif %}
|
|||
|
|
</figure>
|
|||
|
|
{% endif %}
|
|||
|
|
<div class="snap-content">
|
|||
|
|
{{ article_body }}
|
|||
|
|
{% if article_mirror_url %}
|
|||
|
|
<p>
|
|||
|
|
<a href="{{ article_mirror_url }}" class="snap-footer-link">
|
|||
|
|
View the original article
|
|||
|
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|||
|
|
<path d="M19.7212 13.0822C19.3072 13.0822 18.9712 13.4189 18.9712 13.8322V18.9712H5.02881V5.02881H10.167C10.5818 5.02881 10.917 4.69279 10.917 4.27881C10.917 3.86483 10.5818 3.52881 10.167 3.52881H4.27881C3.86405 3.52881 3.52881 3.86483 3.52881 4.27881V19.7212C3.52881 20.136 3.86405 20.4712 4.27881 20.4712H19.7212C20.136 20.4712 20.4712 20.136 20.4712 19.7212V13.8322C20.4712 13.4197 20.136 13.0822 19.7212 13.0822Z"
|
|||
|
|
fill="#222F3A"></path>
|
|||
|
|
<path d="M19.7212 3.52881H14.1622C13.7474 3.52881 13.4122 3.86483 13.4122 4.27881C13.4122 4.69279 13.7474 5.02881 14.1622 5.02881H17.9108L11.9978 10.9418C11.7045 11.2351 11.7045 11.7091 11.9978 12.0023C12.144 12.1485 12.3361 12.222 12.528 12.222C12.7201 12.222 12.912 12.1485 13.0583 12.0023L18.9713 6.08927V9.83927C18.9713 10.2532 19.3073 10.5893 19.7213 10.5893C20.136 10.5893 20.4713 10.2532 20.4713 9.83927V4.27887C20.4713 3.86411 20.136 3.52887 19.7213 3.52887L19.7212 3.52881Z"
|
|||
|
|
fill="#222F3A"></path>
|
|||
|
|
</svg>
|
|||
|
|
</a>
|
|||
|
|
</p>
|
|||
|
|
{% endif %}
|
|||
|
|
</div>
|
|||
|
|
</main>
|
|||
|
|
<footer class="snap-footer">
|
|||
|
|
<div>
|
|||
|
|
{% if site_mirror_url %}<a href="https://d7qg4uz16a7xs.cloudfront.net/">{% endif %}
|
|||
|
|
<img src="{{ site_logo }}" alt="{{ site_title }} logo">
|
|||
|
|
{% if site_mirror_url %}</a>{% endif %}
|
|||
|
|
</div>
|
|||
|
|
<p>© {{ site_title }}</p>
|
|||
|
|
</footer>
|
|||
|
|
</div>
|
|||
|
|
<div class="snap-link-warning-popup">
|
|||
|
|
<div class="snap-link-warning-popup__wrapper">
|
|||
|
|
<div class="snap-link-warning-popup__header">
|
|||
|
|
<div class="snap-link-warning-popup__title">{{ gettext("You are leaving this page") }}</div>
|
|||
|
|
<div class="snap-link-warning-popup__icon" onclick="cancelCurrentLink()">
|
|||
|
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|||
|
|
<g clip-path="url(#clip0_235_140)">
|
|||
|
|
<path
|
|||
|
|
fill-rule="evenodd"
|
|||
|
|
clip-rule="evenodd"
|
|||
|
|
d="M2.94975 3.05025C3.34027 2.65973 3.97344 2.65973 4.36396 3.05025L7.89949 6.58579L11.435 3.05025C11.8256 2.65973 12.4587 2.65973 12.8492 3.05025C13.2398 3.44078 13.2398 4.07394 12.8492 4.46447L9.31371 8L12.8492 11.5355C13.2398 11.9261 13.2398 12.5592 12.8492 12.9497C12.4587 13.3403 11.8256 13.3403 11.435 12.9497L7.89949 9.41421L4.36396 12.9497C3.97344 13.3403 3.34027 13.3403 2.94975 12.9497C2.55922 12.5592 2.55922 11.9261 2.94975 11.5355L6.48528 8L2.94975 4.46447C2.55922 4.07394 2.55922 3.44078 2.94975 3.05025Z"
|
|||
|
|
fill="#303E4F"></path>
|
|||
|
|
</g>
|
|||
|
|
<defs>
|
|||
|
|
<clipPath id="clip0_235_140">
|
|||
|
|
<rect width="16" height="16" fill="white"></rect>
|
|||
|
|
</clipPath>
|
|||
|
|
</defs>
|
|||
|
|
</svg>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="snap-link-warning-popup__content">
|
|||
|
|
{{ gettext("This link will redirect you to an external website. If it’s not available in your region, you may not be able to access it.") }}
|
|||
|
|
</div>
|
|||
|
|
<div class="snap-link-warning-popup__button" onclick="goToCurrentLink()">{{ gettext("Continue") }}</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</body>
|
|||
|
|
</html>
|