istio.io/layouts/_default/baseof.html

197 lines
9.1 KiB
HTML

<!DOCTYPE html>
<html lang="{{ .Site.Language }}" itemscope itemtype="https://schema.org/WebPage">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="theme-color" content="#466BB0"/>
{{ with .Page.Description }}
{{ if not (or (strings.HasSuffix . ".") (strings.HasSuffix . "。")) }}
{{ errorf "Page description doesn't end with a period: '%s'" . }}
{{ end }}
{{ end }}
{{ define "description" }}{{ with .Page.Description }}{{ . }}{{ else }}Connect, secure, control, and observe services.{{ end }}{{ end }}
<meta name="title" content="{{ .Title }}">
<meta name="description" content="{{ template "description" . }}">
{{ if .Page.Params.attribution }}
<meta name="author" content="{{ .Page.Params.attribution }}">
{{ end }}
{{ if .Page.Params.keywords }}
<meta name="keywords" content="microservices,services,mesh,{{ delimit .Page.Params.keywords "," }}">
{{ else }}
<meta name="keywords" content="microservices,services,mesh">
{{ end }}
<!-- Open Graph protocol -->
<meta property="og:title" content="{{ .Title }}">
<meta property="og:type" content="website">
<meta property="og:description" content="{{ template "description" . }}">
{{ if .Permalink }}
<meta property="og:url" content="{{ .Permalink | absURL }}">
{{ end }}
{{ with .Resources.Get .Params.social_image }}
<meta property="og:image" content="{{ .Permalink | absURL }}">
{{ else }}
<meta property="og:image" content="https://raw.githubusercontent.com/istio/istio.io/master/static/img/istio-social.png">
<meta property="og:image:alt" content="The Istio sailboat logo">
<meta property="og:image:width" content="4096">
<meta property="og:image:height" content="2048">
{{ end }}
<meta property="og:site_name" content="Istio">
<!-- Twitter card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@IstioMesh">
{{ if .Page.Params.twitter }}
<meta name="twitter:creator" content="@{{ .Page.Params.twitter }}">
{{ end }}
{{ $analytics_id := .Site.Data.args.main_analytics_id }}
{{ if .Site.Data.args.archive_landing }}
<title>istio.io Archives</title>
{{ else if .Site.Data.args.archive }}
{{ if eq .Title "Istio" }}
<title>Istioldie {{ .Site.Data.args.version }}</title>
{{ else }}
<title>Istioldie {{ .Site.Data.args.version }} / {{ .Title }}</title>
{{ end }}
{{ $analytics_id = .Site.Data.args.archive_analytics_id }}
{{ else if .Site.Data.args.preliminary }}
{{ if eq .Title "Istio" }}
<title>Istio Prelim {{ .Site.Data.args.version }}</title>
{{ else }}
<title>Istio Prelim {{ .Site.Data.args.version }} / {{ .Title }}</title>
{{ end }}
{{ $analytics_id = .Site.Data.args.preliminary_analytics_id }}
{{ else }}
{{ if eq .Title "Istio" }}
<title>Istio</title>
{{ else }}
<title>Istio / {{ .Title }}</title>
{{ end }}
{{ end }}
<!-- Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id={{ $analytics_id }}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '{{ $analytics_id }}');
</script>
<!-- End Google Analytics -->
<!-- RSS -->
<link rel="alternate" type="application/rss+xml" title="Istio Blog" href="/blog/feed.xml">
<link rel="alternate" type="application/rss+xml" title="Istio News" href="/news/feed.xml">
<link rel="alternate" type="application/rss+xml" title="Istio Blog and News" href="/feed.xml">
<!-- Favicons: generated from img/istio-whitelogo-bluebackground-framed.svg by https://cthedot.de/icongen -->
<link rel="shortcut icon" href="/favicons/favicon.ico" >
<link rel="apple-touch-icon" href="/favicons/apple-touch-icon-180x180.png" sizes="180x180">
<link rel="icon" type="image/png" href="/favicons/favicon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="/favicons/android-36x36.png" sizes="36x36">
<link rel="icon" type="image/png" href="/favicons/android-48x48.png" sizes="48x48">
<link rel="icon" type="image/png" href="/favicons/android-72x72.png" sizes="72x72">
<link rel="icon" type="image/png" href="/favicons/android-96x96.png" sizes="96xW96">
<link rel="icon" type="image/png" href="/favicons/android-144x144.png" sizes="144x144">
<link rel="icon" type="image/png" href="/favicons/android-192x192.png" sizes="192x192">
<link rel="icon" type="image/svg+xml" href="/favicons/favicon.svg">
<link rel="icon" type="image/png" href="/favicons/favicon.png">
<link rel="mask-icon" href="/favicons/safari-pinned-tab.svg" color="#466BB0">
<!-- app manifests -->
<link rel="manifest" href="/manifest.json">
<meta name="apple-mobile-web-app-title" content="Istio">
<meta name="application-name" content="Istio">
<!-- theme meta -->
<meta name="msapplication-config" content="/browserconfig.xml" />
<meta name="msapplication-TileColor" content="#466BB0">
<meta name="theme-color" content="#466BB0">
<!-- style sheets -->
{{- $opts := dict "transpiler" "libsass" "targetPath" "css/style.css" -}}
{{- with resources.Get "sass/_all.scss" | toCSS $opts | minify | fingerprint -}}
<link rel="stylesheet" href="{{ .Permalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
{{- end -}}
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&display=swap">
<!-- set the color theme -->
<script src="/js/themes_init.min.js"></script>
</head>
{{ $site_mode := ""}}
{{ if or .Site.Data.args.archive .Site.Data.args.archive_landing }}
{{ $site_mode = "archive-site" }}
{{ else if .Site.Data.args.preliminary }}
{{ $site_mode = "preliminary-site" }}
{{ end }}
<body class="language-unknown {{ $site_mode}}">
<!-- inject some build-time constants into JavaScript-land -->
<script>
const branchName = "{{ .Site.Data.args.source_branch_name }}";
const docTitle = "{{ .Title }}";
const iconFile = "{{ .Site.BaseURL}}/img/icons.svg";
const buttonCopy = '{{ i18n "button_copy" }}';
const buttonPrint = '{{ i18n "button_print" }}';
const buttonDownload = '{{ i18n "button_download" }}';
</script>
<!-- libraries we unconditionally pull in -->
<script src="https://www.google.com/cse/brand?form=search-form" defer></script>
<!-- our own stuff -->
<script src="/js/all.min.js" data-manual defer></script>
{{ partial "events.html" (dict "page" . "kind" "sticker") }}
{{ partial "header.html" . }}
<!-- Archived Documentation Header -->
{{ if and (eq .Section "docs") .Site.Data.args.archive}}
<div class="archive-warning-banner" role="alert">
{{ (printf (i18n "archive_banner_text") .Site.Data.args.version) | safeHTML }}
<a href="/latest{{ .RelPermalink | safeURL }}">{{ i18n "archive_banner_link" }}</a>
</div>
{{ end }}
{{ partial "events.html" (dict "page" . "kind" "banner") }}
{{ block "main" . }}{{ end }}
{{ partial "footer.html" . }}
<!-- libraries we conditionally pull in -->
{{ if .Scratch.Get "needMermaid" -}}
<script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs';
mermaid.initialize({
startOnLoad: true,
'theme': 'base',
'themeVariables': {
'primaryColor': '#B7D4FF',
'primaryBorderColor': '#9BB9FF',
}
});
</script>
{{ end -}}
{{ if .Scratch.Get "needPopper" }}
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" defer></script>
{{ end }}
<div id="scroll-to-top-container" aria-hidden="true">
<button id="scroll-to-top" title='{{ i18n "button_top"}}' tabindex="-1">
{{ partial "icon.html" "top" }}
</button>
</div>
</body>
</html>