]> git.proxmox.com Git - pve-eslint.git/blame - eslint/docs/src/_includes/layouts/base.html
import 8.41.0 source
[pve-eslint.git] / eslint / docs / src / _includes / layouts / base.html
CommitLineData
8f9d1d4d 1<!DOCTYPE html>
f2a92ac6 2<html lang="{{ config.lang }}" class="no-js" id="site_top">
8f9d1d4d
DC
3<head>
4 <meta charset="UTF-8">
5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6 <meta name="viewport" content="width=device-width, initial-scale=1.0">
7 {% if NOINDEX %}
8 <meta name="robots" content="noindex">
9 {% endif %}
10 {% if title %}
11 {% set page_title = title %}
12 {% else %}
13 {% set page_title = site[hook].title %}
14 {% endif %}
15
16 {% set page_title = site.shared.title_format | replace("PAGE_TITLE", page_title) %}
17 {% set cover_image = ["https://", site.hostname, "/icon-512.png" ] | join %}
18 {% set cover_image_alt = site.shared.eslint_logo_alt %}
19 {% set page_desc = site.shared.description %}
20 {% set relative_page_url = page.url | url | prettyURL %}
21 {% set page_url = ["https://", site.hostname, relative_page_url ] | join %}
22
23 <!-- SEO -->
24 <title>{{ page_title }}</title>
25 <meta name="description" content="{{ page_desc }}">
26 <link rel="canonical" href="{{ page_url }}">
f2a92ac6 27
8f9d1d4d
DC
28 <!-- https://github.com/eslint/eslint/issues/15844 -->
29 <base href="{{ relative_page_url }}">
30
31 <!-- favicon -->
32 <link rel="icon" href="/favicon.ico" sizes="any"><!-- 32×32 -->
33 <link rel="icon" href="/icon.svg" type="image/svg+xml">
34 <link rel="apple-touch-icon" href="/apple-touch-icon.png"><!-- 180×180 -->
35 <link rel="manifest" href="/manifest.webmanifest">
36
37 <!-- social sharing previews. Make sure every page template has title, desc, and cover url -->
38 <!-- Open graph -->
39 <meta property="og:title" content="{{ page_title }}">
40 <meta property="og:description" content="{{ page_desc }}">
41 <meta property="og:image" content="{{ cover_image }}" />
42 <meta property="og:image:alt" content="{{ cover_image_alt }}">
43 <meta property="og:locale" content="{{ site.locale | replace("-", "_" ) }}">
44 <meta property="og:type" content="website">
45 <meta property="og:url" content="{{ page_url }}">
46 <!-- Twitter -->
47 <meta name="twitter:title" content="{{ page_title }}">
48 <meta name="twitter:card" content="summary_large_image">
49 <meta name="twitter:site" content="@geteslint">
50 <meta name="twitter:description" content="{{ page_desc }}">
51 <meta name="twitter:image" content="{{ cover_image }}">
52 <meta name="twitter:creator" content="@geteslint">
53
54
55 <script type="module">
56 // This is a capable browser, let's improve the UI further!
57 document.documentElement.classList.add("enhanced");
58 document.documentElement.classList.remove('no-js');
59 </script>
60
61 <link rel="preload" href="{{ '/assets/fonts/SpaceGrotesk-Medium-subset.woff2' | url }}" as="font" type="font/woff2" crossorigin>
62 <link rel="preload" href="{{ '/assets/fonts/Inter-Regular-subset.woff2' | url }}" as="font" type="font/woff2" crossorigin>
63 <link rel="preload" href="{{ '/assets/fonts/SpaceMono-Regular-subset.woff2' | url }}" as="font" type="font/woff2" crossorigin>
64 <link rel="preload" href="{{ '/assets/fonts/Consolas.woff' | url }}" as="font" type="font/woff" crossorigin>
65 <link rel="preconnect" href="https://www.googletagmanager.com/">
66
67 <script>
68 (function () {
69 var theme = window.localStorage.getItem("theme");
70 if (theme) document.documentElement.setAttribute('data-theme', theme)
71 else if (window.matchMedia('(prefers-color-scheme: dark)').matches)
72 document.documentElement.setAttribute('data-theme', 'dark');
73 else document.documentElement.setAttribute('data-theme', 'light');
74 })();
75 </script>
76
77
78 <style>
8f9d1d4d
DC
79 /* Overrides for funky punctuators */
80 @font-face {
81 font-family: "Mono Punctuators";
82 src: url("{{ '/assets/fonts/Consolas.woff' | url }}") format("woff");
83 font-weight: 400;
84 unicode-range: U+40, U+7B, U+7D, U+28, U+29;
85 font-display: swap;
86 }
f2a92ac6 87
8f9d1d4d
DC
88 /* Space Grotesk for headings */
89 @font-face {
90 font-family: "Space Grotesk";
f2a92ac6
DC
91 src:
92 url("{{ '/assets/fonts/SpaceGrotesk-Medium-subset.woff2' | url }}") format("woff2"),
93 url("{{ '/assets/fonts/SpaceGrotesk-Medium-subset.zopfli.woff' | url }}") format("woff");
8f9d1d4d
DC
94 font-weight: 500;
95 font-display: swap;
96 }
97
98 /* Inter for body text */
99
100 @font-face {
f2a92ac6
DC
101 font-family: Inter;
102 src:
103 url("{{ '/assets/fonts/Inter-Regular-subset.woff2' | url }}") format("woff2"),
104 url("{{ '/assets/fonts/Inter-Regular-subset.zopfli.woff' | url }}") format("woff");
8f9d1d4d
DC
105 font-weight: 400;
106 font-display: swap;
107 }
108
109 /* Space Mono for code snippets */
110
111 @font-face {
112 font-family: "Space Mono";
f2a92ac6
DC
113 src:
114 url("{{ '/assets/fonts/SpaceMono-Regular-subset.woff2' | url }}") format("woff2"),
115 url("{{ '/assets/fonts/SpaceMono-Regular-subset.zopfli.woff' | url }}") format("woff");
8f9d1d4d
DC
116 font-weight: 400;
117 font-display: swap;
118 }
f2a92ac6
DC
119
120 /* Country Flags for Windows */
121 @font-face {
122 font-family: "Twemoji Country Flags";
123 unicode-range: U+1F1E6-1F1FF, U+1F3F4, U+E0062-E0063, U+E0065, U+E0067, U+E006C, U+E006E, U+E0073-E0074, U+E0077, U+E007F;
124 src: url("https://cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@0.1/dist/TwemojiCountryFlags.woff2") format("woff2");
125 }
8f9d1d4d
DC
126 </style>
127 <script>
128 if ("fonts" in document) {
129 var InterSemiBold = new FontFace("Inter", "url({{ '/assets/fonts/Inter-SemiBold-subset.woff2' | url }}) format('woff2'), url({{ '/assets/fonts/Inter-SemiBold-subset.zopfli.woff' | url }}) format('woff')", {
130 weight: "500",
131 style: "normal"
132 });
133
134 Promise.all([InterSemiBold.load()]).then(function(fonts) {
135 fonts.forEach(function(font) {
136 document.fonts.add(font);
137 });
138 });
139 }
140 </script>
141 <script src="{{ '/assets/js/themes.js' | url }}"></script>
142 <script type="module" src="{{ '/assets/js/search.js' | url }}"></script>
143 <link rel="stylesheet" type="text/css" href="{{ '/assets/css/styles.css' | url }}">
144 <link rel="stylesheet" href="{{ '/assets/css/print.css' | url }}" media="print">
145 <script src="https://unpkg.com/anchor-js@4.3.1/anchor.min.js"></script>
146</head>
147
f2a92ac6 148<body class="{{ hook }}">
8f9d1d4d
DC
149 <a href="#main" class="c-btn c-btn--primary" id="skip-link">Skip to main content</a>
150
151 {{ content | safe }}
152
153 <script src="{{ '/assets/js/css-vars-ponyfill@2.js' | url }}"></script>
154 <script src="{{ '/assets/js/focus-visible.js' | url }}"></script>
155 <script src="{{ '/assets/js/main.js' | url }}"></script>
156 <script src="{{ '/assets/js/tabs.js' | url }}"></script>
f2a92ac6 157 <script src="{{ '/assets/js/scroll-up-btn.js' | url }}"></script>
8f9d1d4d
DC
158 {% include 'partials/analytics.html' %}
159
160 {%- if hook == "component-library" -%}
161 <script src="{{ '/assets/js/components-index.js' | url }}"></script>
162 {%- endif -%}
163
164
165</body>
166
167</html>