1
mirror of https://github.com/jakejarvis/jarv.is.git synced 2025-07-03 17:26:37 -04:00

enable AMP on more layouts/pages

This commit is contained in:
2020-11-08 11:12:21 -05:00
parent b378cb4afb
commit 6ada1afd4a
10 changed files with 364 additions and 292 deletions

View File

@ -4,6 +4,7 @@ date: 2020-04-22 10:50:04-0400
description: "An incredibly embarrassing and somewhat painful walkthrough of this site's long history..."
image: "images/2001_12.png"
layout: etc
amp: false
css: |
/*!
* Comic Neue typeface v2.5 - http://comicneue.com/

View File

@ -3,8 +3,9 @@ title: "📈 Analytics"
description: "Public visitor stats for this website."
url: /stats
layout: etc
amp: false
css: |
div#content iframe#sa-graph {
div#content iframe {
display: block;
margin: 0 auto;
height: 327px;
@ -23,6 +24,6 @@ In that case, why not share them? 😊 Pageviews for the past month are graphed
<!-- markdownlint-disable MD033 -->
<p class="center"><a class="no-underline" href="https://simpleanalytics.com/jarv.is?utm_source=jarv.is&amp;utm_content=badge" target="_blank" rel="noopener"><img src="/stats/badge.svg" width="210" height="50" alt="Powered by Simple Analytics"></a></p>
<iframe id="sa-graph" src="https://simpleanalytics.com/jarv.is?color=FF4F64&amp;embed=true" scrolling="no" title="Simple Analytics graph"></iframe>
<!-- markdownlint-enable MD033 -->
{{< iframe src="https://simpleanalytics.com/jarv.is?color=FF4F64&embed=true" title="Simple Analytics graph" width="654" height="327" sandbox="allow-same-origin allow-scripts allow-popups" >}}

View File

@ -0,0 +1,19 @@
{{ partial "amp/head" . }}
<article class="layout layout-etc">
{{ with .OutputFormats.Get "html" }}
<div id="meta">
<a href="{{ .Permalink }}" title="View Full Version">View Full Version</a>
</div>
{{ end }}
{{ with .OutputFormats.Get "html" }}
<h1 class="title"><a href="{{ .Permalink }}">{{ $.Title | markdownify }}</a></h1>
{{ end }}
<div id="content">
{{ .Content }}
</div>
</article>
{{ partial "amp/foot" . }}

View File

@ -1,267 +1,17 @@
<!doctype html>
<html lang="en">
<head>
{{ partial "functions/init" . }}
<meta charset="utf-8">
{{ hugo.Generator }}
{{ if ne hugo.Environment "production" }}<meta name="robots" content="noindex, nofollow">{{ end }}
<script async src="https://cdn.ampproject.org/v0.js"></script>
<script async custom-element="amp-iframe" src="https://cdn.ampproject.org/v0/amp-iframe-0.1.js"></script>
{{ if .HasShortcode "video" }}<script async custom-element="amp-video" src="https://cdn.ampproject.org/v0/amp-video-0.1.js"></script>{{ end }}
{{ if .HasShortcode "youtube" }}<script async custom-element="amp-youtube" src="https://cdn.ampproject.org/v0/amp-youtube-0.1.js"></script>{{ end }}
{{ if .HasShortcode "tweet" }}<script async custom-element="amp-twitter" src="https://cdn.ampproject.org/v0/amp-twitter-0.1.js"></script>{{ end }}
{{ if .HasShortcode "facebook" }}<script async custom-element="amp-facebook" src="https://cdn.ampproject.org/v0/amp-facebook-0.1.js"></script>{{ end }}
{{ if .HasShortcode "gist" }}<script async custom-element="amp-gist" src="https://cdn.ampproject.org/v0/amp-gist-0.1.js"></script>{{ end }}
{{ if .HasShortcode "instagram" }}<script async custom-element="amp-instagram" src="https://cdn.ampproject.org/v0/amp-instagram-0.1.js"></script>{{ end }}
{{ if .HasShortcode "vimeo" }}<script async custom-element="amp-vimeo" src="https://cdn.ampproject.org/v0/amp-vimeo-0.1.js"></script>{{ end }}
<title>{{ .Scratch.Get "plainTitle" }}  {{ .Site.Title }}</title>
{{ with .OutputFormats.Get "html" }}<link rel="canonical" href="{{ .Permalink }}">{{ end }}
<meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{ .Site.Params.description }}{{ end }}">
{{ with .Site.Author.name }}<meta name="author" content="{{ . }}">{{ end }}
<meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1">
{{ partial "head/open-graph" . }}
{{ partial "amp/head" . }}
<link href="https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,100..900;1,100..900&amp;family=Roboto+Mono:ital,wght@0,400;1,400&amp;display=swap" rel="stylesheet">
<article class="layout layout-single">
<div id="meta">
<span title="{{ .Date.Format "Mon, Jan 2 2006 3:04:05 PM MST" }}">{{ .Date.Format "January 2, 2006" }}</span>{{ with .OutputFormats.Get "html" }}<span class="dash"></span><a href="{{ .Permalink }}" title="View Full Version">View Full Version</a>{{ end }}
</div>
<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
<style amp-custom>
body {
font-family: "Inter", sans-serif;
font-kerning: normal;
font-size: 0.92em;
letter-spacing: -0.011em;
background-color: #ffffff;
color: #222222;
-webkit-text-size-adjust: 100%;
}
a {
color: #0e6dc2;
text-decoration: none;
}
hr {
margin: 1.25em auto;
height: 2px;
border: 0;
background-color: #d2d2d2;
}
strong {
letter-spacing: 0.008em;
}
blockquote {
border-left: 5px solid #0e6dc2;
margin-left: 0.5em;
padding-left: 1em;
}
article {
max-width: {{ printf "%d%s" .Site.Params.Theme.maxWidth "px" }};
margin: 0 auto;
padding: 0 15px;
line-height: 1.75;
}
div#content {
font-size: 1.025em;
letter-spacing: -0.008em;
}
div#content a:hover {
text-decoration: underline;
}
h1.title {
font-size: 2.1em;
line-height: 1.3;
margin-top: 0.4em;
margin-bottom: 0.4em;
margin-left: -0.03em;
}
h1.title a {
color: inherit;
}
div#meta {
font-size: 0.925em;
line-height: 1.3;
letter-spacing: 0.04em;
margin-top: 1.5em;
color: #5e5e5e;
}
div#meta a {
text-decoration: none;
color: inherit;
}
div#meta span.dash {
margin: 0 0.7em;
}
p.center, p.image, p.caption {
text-align: center;
}
p.caption {
margin-top: -1em;
font-size: 0.95em;
color: #5e5e5e;
}
h2 {
padding-bottom: 0.1em;
border-bottom: 1px solid #e3e3e3;
}
header {
width: 100%;
background-color: #fcfcfc;
border-bottom: 1px solid #e3e3e3;
}
header a {
text-decoration: none;
}
nav {
max-width: {{ printf "%d%s" .Site.Params.Theme.maxWidth "px" }};
margin: 0 auto;
padding: 0 15px;
display: flex;
align-items: center;
justify-content: space-between;
}
nav a#logo {
display: flex;
align-items: center;
color: #515151;
padding: 16px 0;
}
nav a#logo svg {
height: 40px;
width: 28px;
}
nav a#logo span {
margin-left: 15px;
font-size: 1.45em;
font-weight: 500;
}
nav ul {
list-style: none;
display: flex;
align-items: center;
font-size: 1.75em;
line-height: 1;
padding: 0;
margin: 0;
}
nav ul li {
width: 65px;
text-align: right;
}
footer {
padding: 20px 15px;
background-color: #fcfcfc;
border-top: 1px solid #e3e3e3;
color: #555;
line-height: 1.8;
}
footer a {
text-decoration: none;
}
footer div {
vertical-align: middle;
height: 100%;
}
footer div.row {
width: 100%;
max-width: {{ printf "%d%s" .Site.Params.Theme.maxWidth "px" }};
margin: 0 auto;
display: flex;
justify-content: space-between;
}
div.left {
text-align: left;
}
div.right {
text-align: right;
}
div.highlight, code {
font-family: "Roboto Mono", monospace;
letter-spacing: 0;
page-break-inside: avoid;
margin: 0 0.1em;
}
p code {
border: 1px solid #dddddd;
padding: 0.1em 0.25em;
background-color: #fbfbfb;
}
div.highlight {
border: 1px solid #dddddd;
background-color: #fbfbfb;
line-height: 1.6;
max-width: 100%;
overflow-x: scroll;
object-fit: scale-down;
margin: 1em 0;
}
div.highlight pre {
display: block;
margin-left: 1.5em;
}
div.highlight code {
margin: 0;
}
div.highlight span.k, div.highlight span.kc, div.highlight span.kd, div.highlight span.kp, div.highlight span.kr, div.highlight span.kt, div.highlight span.no { color: #0e6dc2; }
div.highlight span.n, div.highlight span.bp, div.highlight span.nb, div.highlight span.ni, div.highlight span.fm, div.highlight span.nl, div.highlight span.nn, div.highlight span.py, div.highlight span.nv, div.highlight span.vc, div.highlight span.vg, div.highlight span.vi, div.highlight span.vm, div.highlight span.p { color: #111111; }
div.highlight span.na, div.highlight span.nc, div.highlight span.nd, div.highlight span.ne, div.highlight span.nf, div.highlight span.nx { color: #337a15; }
div.highlight span.err, div.highlight span.nt, div.highlight span.o, div.highlight span.ow, div.highlight span.kn { color: #d43d2e; }
div.highlight span.l, div.highlight span.se, div.highlight span.m, div.highlight span.mb, div.highlight span.mf, div.highlight span.mh, div.highlight span.mi, div.highlight span.il, div.highlight span.mo { color: #7e3df3; }
div.highlight span.ld, div.highlight span.s, div.highlight span.sa, div.highlight span.sb, div.highlight span.sc, div.highlight span.dl, div.highlight span.sd, div.highlight span.s2, div.highlight span.sh, div.highlight span.si, div.highlight span.sx, div.highlight span.sr, div.highlight span.s1, div.highlight span.ss { color: #bd5500; }
div.highlight span.c, div.highlight span.ch, div.highlight span.cm, div.highlight span.c1, div.highlight span.cs, div.highlight span.cp, div.highlight span.cpf { color: #6b6859; }
div.highlight span.ge { font-style: italic; }
div.highlight span.gs { font-weight: bold; }
div.highlight span.lnt { color: #999999; user-select: none; }
{{ with .OutputFormats.Get "html" }}
<h1 class="title"><a href="{{ .Permalink }}">{{ $.Title | markdownify }}</a></h1>
{{ end }}
{{/* Page-specific styles set via front matter */}}
{{- with .Params.css }}
{{- replace . " !important" "" | safeCSS -}}
{{ end -}}
</style>
<div id="content">
{{ .Content }}
</div>
</article>
{{ partialCached "head/favicons" (dict "pngSizes" "192 48 32 16" "icoSizes" "16 32 48") }}
{{ partialCached "head/feeds" . }}
{{ partial "head/schema" . }}
</head>
<body>
<header>
<nav>
<a id="logo" href="{{ .Site.BaseURL }}" title="{{ .Site.Title }}">
{{ partial "functions/inline-svg" (dict "src" "img/logo.svg" "width" 30 "height" 45) }}
<span id="name">{{ .Site.Title }}</span>
</a>
<ul>
<li><a href="{{ .Site.BaseURL }}" title="Home">🏠</a></li>
<li><a href="{{ "notes/" | absURL }}" title="Notes">📝</a></li>
<li><a href="&#x6D;&#x61;&#x69;&#x6C;&#x74;&#x6F;&#x3A;&#x6A;&#x61;&#x6B;&#x65;&#x40;&#x6A;&#x61;&#x72;&#x76;&#x2E;&#x69;&#x73;" title="Email Me">📬</a></li>
</ul>
</nav>
</header>
<article>
<div id="meta">
<span title="{{ .Date.Format "Mon, Jan 2 2006 3:04:05 PM MST" }}">{{ .Date.Format "January 2, 2006" }}</span>{{ with .OutputFormats.Get "html" }}<span class="dash"></span><a href="{{ .Permalink }}" title="View Full Version">View Full Version</a>{{ end }}
</div>
{{ with .OutputFormats.Get "html" }}
<h1 class="title"><a href="{{ .Permalink }}">{{ $.Title | markdownify }}</a></h1>
{{ end }}
<div id="content">
{{ .Content }}
</div>
</article>
<footer>
<div class="row">
<div class="left">Content by <a href="{{ .Site.BaseURL }}">{{ .Site.Author.name }}</a>, licensed under <a class="no-underline" href="{{ "license/" | absURL }}"{{ with .Site.Params.license.nameLong }} title="{{ . }}"{{ end }}>{{ .Site.Params.license.name }}</a>.</div>
<div class="right"><a class="back-to-top" href="#top">↑ Back to top.</a></div>
</div>
</footer>
{{ if eq hugo.Environment "production" }}
<!-- https://docs.simpleanalytics.com/without-javascript -->
<amp-pixel src="{{ "api/send_view" | absURL }}?noscript=true&amp;type=pageview&amp;hostname=CANONICAL_HOSTNAME&amp;path=CANONICAL_PATH&amp;referrer=DOCUMENT_REFERRER&amp;https=true&amp;ua=USER_AGENT&amp;width=VIEWPORT_WIDTH" layout="nodisplay"></amp-pixel>
{{ end }}
</body>
</html>
{{ partialCached "functions/debug" . }}
{{ partial "amp/foot" . }}

View File

@ -0,0 +1,28 @@
{{ partial "amp/head" . }}
<article class="layout layout-video">
{{ with .OutputFormats.Get "html" }}
<h1 class="title"><a href="{{ .Permalink }}">{{ $.Title | markdownify }}</a></h1>
{{ end }}
<amp-video
layout="responsive"
width="940"
height="530"
{{ with .Resources.GetMatch "thumb.*" }}poster="{{ .Permalink }}"{{ end }}
controls>
{{ with .Page.Resources.GetMatch "*.webm" }}<source src="{{ .Permalink }}" type="video/webm">{{ end }}
{{ with .Page.Resources.GetMatch "*.mp4" }}<source src="{{ .Permalink }}" type="video/mp4">{{ end }}
{{ with .Page.Resources.GetMatch "*.ogg" }}<source src="{{ .Permalink }}" type="video/ogg">{{ end }}
{{ with .Page.Resources.GetMatch "*.vtt" }}<track src="{{ .Permalink }}" kind="captions" label="English" srclang="en" default>{{ end }}
<div fallback>
<p>Your browser does not support HTML5 video. {{ with .Page.Resources.GetMatch "*.mp4" }}<a href="{{ .Permalink }}">Load the .mp4 video directly.</a>{{ end }}</p>
</div>
</amp-video>
{{ .Content }}
</article>
{{ partial "amp/foot" . }}

View File

@ -0,0 +1,15 @@
<footer>
<div class="row">
<div class="left">Content by <a href="{{ .Site.BaseURL }}">{{ .Site.Author.name }}</a>, licensed under <a class="no-underline" href="{{ "license/" | absURL }}"{{ with .Site.Params.license.nameLong }} title="{{ . }}"{{ end }}>{{ .Site.Params.license.name }}</a>.</div>
<div class="right"><a class="back-to-top" href="#top">↑ Back to top.</a></div>
</div>
</footer>
{{ if eq hugo.Environment "production" }}
<!-- https://docs.simpleanalytics.com/without-javascript -->
<amp-pixel src="{{ "api/send_view" | absURL }}?noscript=true&amp;type=pageview&amp;hostname=CANONICAL_HOSTNAME&amp;path=CANONICAL_PATH&amp;referrer=DOCUMENT_REFERRER&amp;https=true&amp;ua=USER_AGENT&amp;width=VIEWPORT_WIDTH" layout="nodisplay"></amp-pixel>
{{ end }}
</body>
</html>
{{ partialCached "functions/debug" . }}

View File

@ -0,0 +1,258 @@
<!doctype html>
<html lang="{{ .Site.LanguageCode | default "en" }}">
<head>
{{ partial "functions/init" . }}
<meta charset="utf-8">
{{ hugo.Generator }}
{{ if ne hugo.Environment "production" }}<meta name="robots" content="noindex, nofollow">{{ end }}
<script async src="https://cdn.ampproject.org/v0.js"></script>
<script async custom-element="amp-iframe" src="https://cdn.ampproject.org/v0/amp-iframe-0.1.js"></script>
{{ if .HasShortcode "video" }}<script async custom-element="amp-video" src="https://cdn.ampproject.org/v0/amp-video-0.1.js"></script>{{ end }}
{{ if .HasShortcode "youtube" }}<script async custom-element="amp-youtube" src="https://cdn.ampproject.org/v0/amp-youtube-0.1.js"></script>{{ end }}
{{ if .HasShortcode "tweet" }}<script async custom-element="amp-twitter" src="https://cdn.ampproject.org/v0/amp-twitter-0.1.js"></script>{{ end }}
{{ if .HasShortcode "facebook" }}<script async custom-element="amp-facebook" src="https://cdn.ampproject.org/v0/amp-facebook-0.1.js"></script>{{ end }}
{{ if .HasShortcode "gist" }}<script async custom-element="amp-gist" src="https://cdn.ampproject.org/v0/amp-gist-0.1.js"></script>{{ end }}
{{ if .HasShortcode "instagram" }}<script async custom-element="amp-instagram" src="https://cdn.ampproject.org/v0/amp-instagram-0.1.js"></script>{{ end }}
{{ if .HasShortcode "vimeo" }}<script async custom-element="amp-vimeo" src="https://cdn.ampproject.org/v0/amp-vimeo-0.1.js"></script>{{ end }}
<title>{{ .Scratch.Get "plainTitle" }}  {{ .Site.Title }}</title>
{{ with .OutputFormats.Get "html" }}<link rel="canonical" href="{{ .Permalink }}">{{ end }}
<meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{ .Site.Params.description }}{{ end }}">
{{ with .Site.Author.name }}<meta name="author" content="{{ . }}">{{ end }}
<meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1">
{{ partial "head/open-graph" . }}
<link href="https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,100..900;1,100..900&amp;family=Roboto+Mono:ital,wght@0,400;1,400&amp;display=swap" rel="stylesheet">
<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
<style amp-custom>
body {
font-family: "Inter", sans-serif;
font-kerning: normal;
font-size: 0.92em;
letter-spacing: -0.011em;
background-color: #ffffff;
color: #222222;
-webkit-text-size-adjust: 100%;
}
a {
color: #0e6dc2;
text-decoration: none;
}
hr {
margin: 1.25em auto;
height: 2px;
border: 0;
background-color: #d2d2d2;
}
strong {
letter-spacing: 0.008em;
}
blockquote {
border-left: 5px solid #0e6dc2;
margin-left: 0.5em;
padding-left: 1em;
}
article {
max-width: {{ printf "%d%s" .Site.Params.Theme.maxWidth "px" }};
margin: 0 auto;
padding: 0 15px;
line-height: 1.75;
}
div#content {
font-size: 1.025em;
letter-spacing: -0.008em;
}
div#content a:hover {
text-decoration: underline;
}
h1.title {
font-size: 2.1em;
line-height: 1.3;
margin-top: 0.4em;
margin-bottom: 0.4em;
margin-left: -0.03em;
}
h1.title a {
color: inherit;
}
div#meta {
font-size: 0.925em;
line-height: 1.3;
letter-spacing: 0.04em;
margin-top: 1.5em;
color: #5e5e5e;
}
div#meta a {
text-decoration: none;
color: inherit;
}
div#meta span.dash {
margin: 0 0.7em;
}
p.center, p.image, p.caption {
text-align: center;
}
p.caption {
margin-top: -1em;
font-size: 0.95em;
color: #5e5e5e;
}
h2 {
padding-bottom: 0.1em;
border-bottom: 1px solid #e3e3e3;
}
header {
width: 100%;
background-color: #fcfcfc;
border-bottom: 1px solid #e3e3e3;
}
header a {
text-decoration: none;
}
nav {
max-width: {{ printf "%d%s" .Site.Params.Theme.maxWidth "px" }};
margin: 0 auto;
padding: 0 15px;
display: flex;
align-items: center;
justify-content: space-between;
}
nav a#logo {
display: flex;
align-items: center;
color: #515151;
padding: 16px 0;
}
nav a#logo svg {
height: 40px;
width: 28px;
}
nav a#logo span {
margin-left: 15px;
font-size: 1.45em;
font-weight: 500;
}
nav ul {
list-style: none;
display: flex;
align-items: center;
font-size: 1.75em;
line-height: 1;
padding: 0;
margin: 0;
}
nav ul li {
width: 65px;
text-align: right;
}
footer {
padding: 20px 15px;
background-color: #fcfcfc;
border-top: 1px solid #e3e3e3;
color: #555;
line-height: 1.8;
}
footer a {
text-decoration: none;
}
footer div {
vertical-align: middle;
height: 100%;
}
footer div.row {
width: 100%;
max-width: {{ printf "%d%s" .Site.Params.Theme.maxWidth "px" }};
margin: 0 auto;
display: flex;
justify-content: space-between;
}
div.left {
text-align: left;
}
div.right {
text-align: right;
}
div.highlight, code {
font-family: "Roboto Mono", monospace;
letter-spacing: 0;
page-break-inside: avoid;
margin: 0 0.1em;
}
p code {
border: 1px solid #dddddd;
padding: 0.1em 0.25em;
background-color: #fbfbfb;
}
article.layout-video p {
text-align: center;
font-size: 0.95em;
letter-spacing: -0.005em;
line-height: 1.5;
color: #757575;
margin: 1.5em 1em 1.5em 1em;
}
article.layout-video p a {
font-weight: bold;
letter-spacing: 0.001em;
}
article.layout-video h1.title {
text-align: center;
margin: 0.7em 0;
}
article.layout-video amp-video {
margin: 1.25em 0;
}
div.highlight {
border: 1px solid #dddddd;
background-color: #fbfbfb;
line-height: 1.6;
max-width: 100%;
overflow-x: scroll;
object-fit: scale-down;
margin: 1em 0;
}
div.highlight pre {
display: block;
margin-left: 1.5em;
}
div.highlight code {
margin: 0;
}
div.highlight span.k, div.highlight span.kc, div.highlight span.kd, div.highlight span.kp, div.highlight span.kr, div.highlight span.kt, div.highlight span.no { color: #0e6dc2; }
div.highlight span.n, div.highlight span.bp, div.highlight span.nb, div.highlight span.ni, div.highlight span.fm, div.highlight span.nl, div.highlight span.nn, div.highlight span.py, div.highlight span.nv, div.highlight span.vc, div.highlight span.vg, div.highlight span.vi, div.highlight span.vm, div.highlight span.p { color: #111111; }
div.highlight span.na, div.highlight span.nc, div.highlight span.nd, div.highlight span.ne, div.highlight span.nf, div.highlight span.nx { color: #337a15; }
div.highlight span.err, div.highlight span.nt, div.highlight span.o, div.highlight span.ow, div.highlight span.kn { color: #d43d2e; }
div.highlight span.l, div.highlight span.se, div.highlight span.m, div.highlight span.mb, div.highlight span.mf, div.highlight span.mh, div.highlight span.mi, div.highlight span.il, div.highlight span.mo { color: #7e3df3; }
div.highlight span.ld, div.highlight span.s, div.highlight span.sa, div.highlight span.sb, div.highlight span.sc, div.highlight span.dl, div.highlight span.sd, div.highlight span.s2, div.highlight span.sh, div.highlight span.si, div.highlight span.sx, div.highlight span.sr, div.highlight span.s1, div.highlight span.ss { color: #bd5500; }
div.highlight span.c, div.highlight span.ch, div.highlight span.cm, div.highlight span.c1, div.highlight span.cs, div.highlight span.cp, div.highlight span.cpf { color: #6b6859; }
div.highlight span.ge { font-style: italic; }
div.highlight span.gs { font-weight: bold; }
div.highlight span.lnt { color: #999999; user-select: none; }
{{/* Page-specific styles set via front matter */}}
{{- with .Params.css }}
{{- replace . " !important" "" | safeCSS -}}
{{ end -}}
</style>
{{ partialCached "head/favicons" (dict "pngSizes" "192 48 32 16" "icoSizes" "16 32 48") }}
{{ partialCached "head/feeds" . }}
{{ partial "head/schema" . }}
</head>
<body>
<header>
<nav>
<a id="logo" href="{{ .Site.BaseURL }}" title="{{ .Site.Title }}">
{{ partial "functions/inline-svg" (dict "src" "img/logo.svg" "width" 30 "height" 45) }}
<span id="name">{{ .Site.Title }}</span>
</a>
<ul>
<li><a href="{{ .Site.BaseURL }}" title="Home">🏠</a></li>
<li><a href="{{ "notes/" | absURL }}" title="Notes">📝</a></li>
<li><a href="&#x6D;&#x61;&#x69;&#x6C;&#x74;&#x6F;&#x3A;&#x6A;&#x61;&#x6B;&#x65;&#x40;&#x6A;&#x61;&#x72;&#x76;&#x2E;&#x69;&#x73;" title="Email Me">📬</a></li>
</ul>
</nav>
</header>

View File

@ -1,9 +1,9 @@
<link rel="canonical" href="{{ .Permalink }}">
{{ if and .IsPage (eq .Type .Site.Params.mainSection) -}}
{{ if and .IsPage (ne .Params.amp false) -}}
{{- with .OutputFormats.Get "amp" -}}
<link rel="amphtml" href="{{ .Permalink }}">
{{- end -}}
{{- end }}
{{- end }}
<link rel="author" href="{{ "humans.txt" | absURL }}">

View File

@ -42,7 +42,7 @@
"devDependencies": {
"autoprefixer": "^10.0.1",
"cross-env": "^7.0.2",
"eslint": "~7.12.1",
"eslint": "~7.13.0",
"eslint-config-prettier": "~6.15.0",
"eslint-plugin-compat": "~3.8.0",
"eslint-plugin-prettier": "~3.1.4",

View File

@ -1628,7 +1628,7 @@ browserify-zlib@^0.2.0:
dependencies:
pako "~1.0.5"
browserslist@^4.12.0, browserslist@^4.12.2, browserslist@^4.14.5, browserslist@^4.8.5:
browserslist@^4.12.0, browserslist@^4.12.2, browserslist@^4.14.5, browserslist@^4.14.6:
version "4.14.6"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.6.tgz#97702a9c212e0c6b6afefad913d3a1538e348457"
integrity sha512-zeFYcUo85ENhc/zxHbiIp0LGzzTrE2Pv2JhxvS7kpUb9Q9D38kUX6Bie7pGutJ/5iF5rOxE7CepAuWD56xJ33A==
@ -2178,17 +2178,17 @@ copy-descriptor@^0.1.0:
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
core-js-compat@^3.6.2:
version "3.6.5"
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c"
integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==
version "3.7.0"
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.7.0.tgz#8479c5d3d672d83f1f5ab94cf353e57113e065ed"
integrity sha512-V8yBI3+ZLDVomoWICO6kq/CD28Y4r1M7CWeO4AGpMdMfseu8bkSubBmUPySMGKRTS+su4XQ07zUkAsiu9FCWTg==
dependencies:
browserslist "^4.8.5"
browserslist "^4.14.6"
semver "7.0.0"
core-js@^3.6.5:
version "3.6.5"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a"
integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==
version "3.7.0"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.7.0.tgz#b0a761a02488577afbf97179e4681bf49568520f"
integrity sha512-NwS7fI5M5B85EwpWuIwJN4i/fbisQUwLwiSNUWeXlkAZ0sbBjLEvLvFLf1uzAUV66PcEPt4xCGCmOZSxVf3xzA==
core-util-is@~1.0.0:
version "1.0.2"
@ -2715,9 +2715,9 @@ ee-first@1.1.1:
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
electron-to-chromium@^1.3.585:
version "1.3.588"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.588.tgz#c6515571737bfb42678115a5eaa818384593a9a5"
integrity sha512-0zr+ZfytnLeJZxGgmEpPTcItu5Mm4A5zHPZXLfHcGp0mdsk95rmD7ePNewYtK1yIdLbk8Z1U2oTRRfOtR4gbYg==
version "1.3.591"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.591.tgz#a18892bf1acb93f7b6e4da402705d564bc235017"
integrity sha512-ol/0WzjL4NS4Kqy9VD6xXQON91xIihDT36sYCew/G/bnd1v0/4D+kahp26JauQhgFUjrdva3kRSo7URcUmQ+qw==
elliptic@^6.5.3:
version "6.5.3"
@ -2924,10 +2924,10 @@ eslint-visitor-keys@^2.0.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
eslint@~7.12.1:
version "7.12.1"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.12.1.tgz#bd9a81fa67a6cfd51656cdb88812ce49ccec5801"
integrity sha512-HlMTEdr/LicJfN08LB3nM1rRYliDXOmfoO4vj39xN6BLpFzF00hbwBoqHk8UcJ2M/3nlARZWy/mslvGEuZFvsg==
eslint@~7.13.0:
version "7.13.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.13.0.tgz#7f180126c0dcdef327bfb54b211d7802decc08da"
integrity sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ==
dependencies:
"@babel/code-frame" "^7.0.0"
"@eslint/eslintrc" "^0.2.1"
@ -5449,7 +5449,7 @@ nan@^2.12.1:
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19"
integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==
nanoid@^3.1.15:
nanoid@^3.1.16:
version "3.1.16"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.16.tgz#b21f0a7d031196faf75314d7c65d36352beeef64"
integrity sha512-+AK8MN0WHji40lj8AEuwLOvLSbWYApQpre/aFJZD71r43wVRLrOYS4FmJOPQYon1TqB462RzrrxlfA74XRES8w==
@ -5561,9 +5561,9 @@ node-libs-browser@^2.2.1:
vm-browserify "^1.0.1"
node-releases@^1.1.65:
version "1.1.65"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.65.tgz#52d9579176bd60f23eba05c4438583f341944b81"
integrity sha512-YpzJOe2WFIW0V4ZkJQd/DGR/zdVwc/pI4Nl1CZrBO19FdRcSTmsuhdttw9rsTzzJLrNcSloLiBbEYx1C4f6gpA==
version "1.1.66"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.66.tgz#609bd0dc069381015cd982300bae51ab4f1b1814"
integrity sha512-JHEQ1iWPGK+38VLB2H9ef2otU4l8s3yAMt9Xf934r6+ojCYDMHPMqvCc9TnzfeFSP1QEOeU6YZEd3+De0LTCgg==
normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0:
version "2.5.0"
@ -6331,13 +6331,13 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^
integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
postcss@^6.x, postcss@^8.1.4, postcss@^8.x:
version "8.1.4"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.4.tgz#356dfef367a70f3d04347f74560c85846e20e4c1"
integrity sha512-LfqcwgMq9LOd8pX7K2+r2HPitlIGC5p6PoZhVELlqhh2YGDVcXKpkCseqan73Hrdik6nBd2OvoDPUaP/oMj9hQ==
version "8.1.6"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.6.tgz#b022ba2cfb8701da234d073ed3128c5a384c35ff"
integrity sha512-JuifSl4h8dJ70SiMXKjzCxhalE6p2TnMHuq9G8ftyXj2jg6SXzqCsEuxMj9RkmJoO5D+Z9YrWunNkxqpRT02qg==
dependencies:
colorette "^1.2.1"
line-column "^1.0.2"
nanoid "^3.1.15"
nanoid "^3.1.16"
source-map "^0.6.1"
postcss@^7.0.0, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.6: