1
mirror of https://github.com/jakejarvis/jarv.is.git synced 2025-04-27 13:56:22 -04:00

change a BUNCH of if's to with's to prepare for theme extraction

This commit is contained in:
Jake Jarvis 2019-12-03 12:41:55 -05:00
parent ac0bbc6343
commit 96ad258d36
Signed by: jake
GPG Key ID: 2B0C9CF251E69A39
23 changed files with 153 additions and 104 deletions

View File

@ -1,5 +1,5 @@
baseURL = "https://jarv.is/" baseURL = "https://jarv.is/"
languageCode = "en-us" languageCode = "en-US"
title = "Jake Jarvis" title = "Jake Jarvis"
# increase timeout for image processing # increase timeout for image processing
@ -32,12 +32,13 @@ disableAliases = true
mastodon = "mastodon.social/@jakejarvis" mastodon = "mastodon.social/@jakejarvis"
[params] [params]
description = "Hello! I'm a frontend web developer based in Boston, Massachusetts specializing in modern JavaScript frameworks and progressive web apps." description = "Hi there! I'm a frontend web developer based in Boston, Massachusetts specializing in modern JavaScript frameworks and progressive web apps."
domain = "jarv.is" domain = "jarv.is"
facebook_app_id = "3357248167622283" facebook_app_id = "3357248167622283"
gitRepo = "https://github.com/jakejarvis/jarv.is" gitRepo = "https://github.com/jakejarvis/jarv.is"
wayback = "https://web.archive.org/web/20010501000000*/jakejarvis.com" wayback = "https://web.archive.org/web/20010501000000*/jakejarvis.com"
copyrightFirstYear = "2001" copyrightFirstYear = "2001"
defaultImage = "/me_large.jpg"
[outputs] [outputs]
home = ["HTML", "RSS", "MANIFEST", "REDIRECTS", "HEADERS"] home = ["HTML", "RSS", "MANIFEST", "REDIRECTS", "HEADERS"]
@ -49,6 +50,9 @@ disableAliases = true
delimiter = "" delimiter = ""
[outputFormats] [outputFormats]
[outputFormats.RSS]
mediatype = "application/rss"
baseName = "feed"
[outputFormats.AMP] [outputFormats.AMP]
mediaType = "text/html" mediaType = "text/html"
basename = "amp" basename = "amp"
@ -92,7 +96,8 @@ disableAliases = true
unsafe = true unsafe = true
[markup.highlight] [markup.highlight]
codeFences = true codeFences = true
lineNos = false lineNos = true
lineNumbersInTable = true
noClasses = true noClasses = true
tabWidth = 4 tabWidth = 4

View File

@ -1,12 +1,12 @@
<!doctype html> <!doctype html>
{{"<!--\n ,,, ,,,\n ;\" ^; ;\" \",\n ; s$$$$$s ;\n , ss$$$$$$$ss ,\"\n ;$$$$$$$$$$$$$$$$\n $$$$$$$$$$$$$$$$$$ Hello, human. :)\n $$$$$\"\"\"$$$\"\"\"$$$$$$\n $$$$$ p\"$$$\"q $$$$$ https://jarv.is/humans.txt\n $$$$ .$$$$$. $$$$\n $$$$$$$$$$$$$$$$$\n \"$$$$\"*\"$$$$\"\n \"$$.$$\"\n-->" | safeHTML}} {{"<!--\n ,,, ,,,\n ;\" ^; ;\" \",\n ; s$$$$$s ;\n , ss$$$$$$$ss ,\"\n ;$$$$$$$$$$$$$$$$\n $$$$$$$$$$$$$$$$$$ Hello, human. :)\n $$$$$\"\"\"$$$\"\"\"$$$$$$\n $$$$$ p\"$$$\"q $$$$$ https://jarv.is/humans.txt\n $$$$ .$$$$$. $$$$\n $$$$$$$$$$$$$$$$$\n \"$$$$\"*\"$$$$\"\n \"$$.$$\"\n-->" | safeHTML}}
<html lang="en"> <html lang="{{ with .Site.LanguageCode }}{{ . }}{{ else }}en-us{{ end }}">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
{{ hugo.Generator }} {{ hugo.Generator }}
<title>{{ .Title }}{{ if not .IsHome }} &ndash; {{ .Site.Title }}{{ else }} &#x1f468;&#x200d;&#x1f4bb;{{ end }}</title> <title>{{ .Title }}{{ if not .IsHome }} &ndash; {{ .Site.Title }}{{ else }} &#x1f468;&#x200d;&#x1f4bb;{{ end }}</title>
<meta name="description" content="{{ if .Description }}{{ .Description }}{{ else }}{{ .Site.Params.description }}{{ end }}"> <meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{ .Site.Params.description }}{{ end }}">
<meta name="author" content="{{ .Site.Author.name }}"> {{ with .Site.Author.name }}<meta name="author" content="{{ . }}">{{ end }}
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
{{ partial "open-graph" . }} {{ partial "open-graph" . }}
<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes">
@ -23,7 +23,7 @@
<link rel="icon" href="{{ "favicon-16.png" | absURL }}" sizes="16x16"> <link rel="icon" href="{{ "favicon-16.png" | absURL }}" sizes="16x16">
<link rel="shortcut icon" href="{{ "favicon.ico" | absURL }}" sizes="16x16 32x32 48x48"> <link rel="shortcut icon" href="{{ "favicon.ico" | absURL }}" sizes="16x16 32x32 48x48">
<link rel="canonical" href="{{ .Permalink }}"> <link rel="canonical" href="{{ .Permalink }}">
<link rel="alternate" type="application/rss+xml" href="{{ "index.xml" | absURL }}" title="{{ .Site.Title }} (RSS)"> <link rel="alternate" type="application/rss+xml" href="{{ "feed.xml" | absURL }}" title="{{ .Site.Title }} (RSS)">
<link rel="author" href="{{ "humans.txt" | absURL }}"> <link rel="author" href="{{ "humans.txt" | absURL }}">
{{ if and (eq .Type "notes") (eq .Kind "page") }} {{ if and (eq .Type "notes") (eq .Kind "page") }}
{{ with .OutputFormats.Get "amp" }} {{ with .OutputFormats.Get "amp" }}

View File

@ -1,17 +1,21 @@
{{ define "main" }} {{ define "main" }}
<main id="list"> <main id="list">
{{- range (where .Site.RegularPages "Type" "notes").GroupByDate "2006" }} {{- with (where .Site.RegularPages "Type" "notes") }}
{{- range .GroupByDate "2006" }}
<section class="year"> <section class="year">
<h2>{{ .Key }}</h2> <h2>{{ .Key }}</h2>
<ul> <ul>
{{- range .Pages }} {{- with .Pages }}
{{- range . }}
<li> <li>
<div class="date">{{ .Date.Format "Jan 2" }}</div> <div class="date">{{ .Date.Format "Jan 2" }}</div>
<div class="title"><a href="{{ .Permalink }}">{{ .Title }}</a></div> <div class="title"><a href="{{ .Permalink }}">{{ .Title }}</a></div>
</li> </li>
{{- end }} {{- end }}
{{- end }}
</ul> </ul>
</section> </section>
{{- end }} {{- end }}
{{- end }}
</main> </main>
{{ end }} {{ end }}

View File

@ -13,7 +13,7 @@
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"> <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<meta name="description" content="{{ if .Description }}{{ .Description }}{{ else }}{{ .Site.Params.description }}{{ end }}"> <meta name="description" content="{{ if .Description }}{{ .Description }}{{ else }}{{ .Site.Params.description }}{{ end }}">
<meta name="author" content="{{ .Site.Author.name }}"> <meta name="author" content="{{ .Site.Author.name }}">
{{ partial "open-graph.html" . }} {{ partial "open-graph" . }}
<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-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> <style amp-custom>
@ -154,15 +154,16 @@
<link rel="icon" href="{{ "favicon-32.png" | absURL }}" sizes="32x32"> <link rel="icon" href="{{ "favicon-32.png" | absURL }}" sizes="32x32">
<link rel="icon" href="{{ "favicon-16.png" | absURL }}" sizes="16x16"> <link rel="icon" href="{{ "favicon-16.png" | absURL }}" sizes="16x16">
<link rel="shortcut icon" href="{{ "favicon.ico" | absURL }}"> <link rel="shortcut icon" href="{{ "favicon.ico" | absURL }}">
<link rel="alternate" type="application/rss+xml" href="{{ "index.xml" | absURL }}" title="{{ .Site.Title }} (RSS)"> <link rel="alternate" type="application/rss+xml" href="{{ "feed.xml" | absURL }}" title="{{ .Site.Title }} (RSS)">
{{ partial "schema-person.html" . }}
{{ partial "schema-article.html" . }} {{ partial "schema-person" . }}
{{ partial "schema-article" . }}
</head> </head>
<body> <body>
<header> <header>
<nav> <nav>
<a id="logo" href="{{ .Site.BaseURL }}" title="{{ .Site.Title }}"> <a id="logo" href="{{ .Site.BaseURL }}" title="{{ .Site.Title }}">
{{ partial "logo.html" . }} {{ partial "logo" . }}
<span id="name">{{ .Site.Title }}</span> <span id="name">{{ .Site.Title }}</span>
</a> </a>

View File

@ -6,11 +6,13 @@
<div id="byline"> <div id="byline">
by <a class="no-underline" href="{{ .Site.BaseURL }}" rel="me author">{{ .Site.Author.name }}</a> by <a class="no-underline" href="{{ .Site.BaseURL }}" rel="me author">{{ .Site.Author.name }}</a>
&middot; <a class="no-underline" href="{{ .Permalink }}" title="{{ .Date.Format "Mon, Jan 2 2006 3:04:05 PM MST" }}">{{ .Date.Format "January 2, 2006" }}</a> &middot; <a class="no-underline" href="{{ .Permalink }}" title="{{ .Date.Format "Mon, Jan 2 2006 3:04:05 PM MST" }}">{{ .Date.Format "January 2, 2006" }}</a>
&middot; <a class="no-underline" href="{{ .Site.Params.gitRepo }}/blob/master/content/{{ .File.Path }}" title="Edit this page on GitHub" target="_blank" rel="noopener">Improve Post</a> {{ with .Site.Params.gitRepo }}&middot; <a class="no-underline" href="{{ . }}/blob/master/content/{{ $.File.Path }}" title="Edit this page on GitHub" target="_blank" rel="noopener">Improve Post</a>{{ end }}
<ul id="tags"> <ul id="tags">
{{- range .Params.tags }} {{- with .Params.tags }}
{{- range . }}
<li>{{ . }}</li> <li>{{ . }}</li>
{{- end }} {{- end }}
{{- end }}
</ul> </ul>
</div> </div>
</div> </div>

View File

@ -2,7 +2,9 @@
<main id="video"> <main id="video">
<h1>{{ .Title }}</h1> <h1>{{ .Title }}</h1>
<video poster="{{ with .Resources.GetMatch "images/*.png" }}{{ .Permalink }}{{ end }}" controls crossorigin playsinline preload="none"> <video
{{ with .Resources.GetMatch "images/*.png" }}poster="{{ .Permalink }}"{{ end }}
controls crossorigin playsinline preload="none">
{{ with .Resources.GetMatch "*.webm" }}<source src="{{ .Permalink }}" type="video/webm">{{ end }} {{ with .Resources.GetMatch "*.webm" }}<source src="{{ .Permalink }}" type="video/webm">{{ end }}
{{ with .Resources.GetMatch "*.mp4" }}<source src="{{ .Permalink }}" type="video/mp4">{{ end }} {{ with .Resources.GetMatch "*.mp4" }}<source src="{{ .Permalink }}" type="video/mp4">{{ end }}
{{ with .Resources.GetMatch "*.ogg" }}<source src="{{ .Permalink }}" type="video/ogg">{{ end }} {{ with .Resources.GetMatch "*.ogg" }}<source src="{{ .Permalink }}" type="video/ogg">{{ end }}

View File

@ -1,5 +1,8 @@
<footer> <footer>
<div id="copyright">Content licensed under <a class="no-underline" href="https://creativecommons.org/licenses/by/4.0/" title="Creative Commons Attribution 4.0 International" target="_blank" rel="noopener">CC-BY-4.0</a>, <a class="no-underline" href="{{ .Site.Params.wayback }}" title="View Old Versions on Wayback Machine" id="wayback" target="_blank" rel="noopener">{{ .Site.Params.copyrightFirstYear }} &ndash;</a> {{ now.Format "2006" }}.</div> <div id="copyright">Content licensed under <a class="no-underline" href="https://creativecommons.org/licenses/by/4.0/" title="Creative Commons Attribution 4.0 International" target="_blank" rel="noopener">CC-BY-4.0</a>, {{ with .Site.Params.wayback }}<a class="no-underline" href="{{ . }}" title="View Old Versions on Wayback Machine" id="wayback" target="_blank" rel="noopener">{{ end }}{{ with .Site.Params.copyrightFirstYear }}{{ . }} &ndash;{{ end }}{{ if .Site.Params.wayback }}</a>{{ end }} {{ now.Format "2006" }}.</div>
<div id="panda"><a class="no-underline" href="https://nationalzoo.si.edu/webcams/panda-cam" title="Live Panda Party!!!11" target="_blank" rel="noopener"><span>&#x1F43C;</span></a></div> <div id="panda"><a class="no-underline" href="https://nationalzoo.si.edu/webcams/panda-cam" title="Live Panda Party!!!11" target="_blank" rel="noopener"><span>&#x1F43C;</span></a></div>
<div id="poweredby"><a class="no-underline" href="https://gohugo.io/" title="Powered by Hugo" id="hugo" target="_blank" rel="noopener">Powered by Hugo.</a> <a class="no-underline" href="{{ .Site.Params.gitRepo }}" title="View Source on GitHub" id="source" target="_blank" rel="noopener">View source.</a></div> <div id="poweredby">
<a class="no-underline" href="https://gohugo.io/" title="Powered by Hugo" id="hugo" target="_blank" rel="noopener">Powered by Hugo.</a>
{{ with .Site.Params.gitRepo }}<a class="no-underline" href="{{ . }}" title="View Source on GitHub" id="source" target="_blank" rel="noopener">View source.</a>{{ end }}
</div>
</footer> </footer>

View File

@ -1,13 +1,13 @@
<header> <header>
<nav> <nav>
<a class="no-underline" href="{{ .Site.BaseURL }}" id="logo" rel="me author" title="{{ .Site.Title }}" aria-label="{{ .Site.Title }}"> <a class="no-underline" href="{{ .Site.BaseURL }}" id="logo" rel="me author" title="{{ .Site.Title }}" aria-label="{{ .Site.Title }}">
{{ partial "logo.html" . }} {{ partial "logo" . }}
<h1 id="name">{{ .Site.Title }}</h1> <h1 id="name">{{ .Site.Title }}</h1>
</a> </a>
<ul> <ul>
<li><a class="no-underline" href="{{ .Site.BaseURL }}" title="Home">&#x1F3E0;</a></li> <li><a class="no-underline" href="{{ .Site.BaseURL }}" title="Home">&#x1F3E0;</a></li>
<li><a class="no-underline" href="{{ "notes/" | absURL }}" title="Notes">&#x1F4DD;</a></li> <li><a class="no-underline" href="{{ "notes/" | absURL }}" title="Notes">&#x1F4DD;</a></li>
<li><a class="no-underline" href="https://github.com/{{ .Site.Author.github }}" title="GitHub" target="_blank" rel="me noopener">&#x1F468;&#x200D;&#x1F4BB;</a></li> {{ with .Site.Author.github }}<li><a class="no-underline" href="https://github.com/{{ . }}" title="GitHub" target="_blank" rel="me noopener">&#x1F468;&#x200D;&#x1F4BB;</a></li>{{ end }}
<li><a class="no-underline" href="&#x6D;&#x61;&#x69;&#x6C;&#x74;&#x6F;&#x3A;&#x6A;&#x61;&#x6B;&#x65;&#x40;&#x6A;&#x61;&#x72;&#x76;&#x2E;&#x69;&#x73;" title="Email Me">&#x1F48C;</a></li> <li><a class="no-underline" href="&#x6D;&#x61;&#x69;&#x6C;&#x74;&#x6F;&#x3A;&#x6A;&#x61;&#x6B;&#x65;&#x40;&#x6A;&#x61;&#x72;&#x76;&#x2E;&#x69;&#x73;" title="Email Me">&#x1F48C;</a></li>
</ul> </ul>
</nav> </nav>

View File

@ -1,5 +1,9 @@
{{- $imagePath := "content/me_large.jpg" -}} {{- $imagePath := "" }}
{{- if .Params.image }}{{ $imagePath = (printf "%s%s%s%s" "content" (.OutputFormats.Get "html").RelPermalink "images/" .Params.image ) }}{{ end -}} {{- with .Params.image }}
{{- $imagePath = (printf "%s%s%s%s" "content" ($.OutputFormats.Get "html").RelPermalink "images/" .) }}
{{- else }}
{{- $imagePath = (printf "%s%s" "content" $.Site.Params.defaultimage) }}
{{- end }}
{{- $image := resources.Get $imagePath -}} {{- $image := resources.Get $imagePath -}}
<meta property="og:title" content="{{ .Title }}"> <meta property="og:title" content="{{ .Title }}">
@ -8,10 +12,14 @@
<meta property="og:locale" content="en_US"> <meta property="og:locale" content="en_US">
<meta property="og:url" content="{{ .Permalink }}"> <meta property="og:url" content="{{ .Permalink }}">
<meta property="og:description" content="{{ if .Description }}{{ .Description }}{{ else }}{{ .Site.Params.description }}{{ end }}"> <meta property="og:description" content="{{ if .Description }}{{ .Description }}{{ else }}{{ .Site.Params.description }}{{ end }}">
<meta property="og:image" content="{{ if .Params.image }}{{ (printf "%s%s%s" (.OutputFormats.Get "html").Permalink "images/" .Params.image ) }}{{ else }}{{ "me_large.jpg" | absURL }}{{ end }}">
<meta property="og:image:width" content="{{ $image.Width }}"> {{- with $image }}
<meta property="og:image:height" content="{{ $image.Height }}"> <meta property="og:image" content="{{ replace .Permalink "/content/" "/" }}">
<meta property="og:image:alt" content="{{ .Title }}"> <meta property="og:image:width" content="{{ .Width }}">
<meta property="og:image:height" content="{{ .Height }}">
<meta property="og:image:alt" content="{{ $.Title }}">
{{- end }}
{{- if .IsPage }} {{- if .IsPage }}
{{- if not .PublishDate.IsZero }} {{- if not .PublishDate.IsZero }}
<meta property="article:published_time" content="{{ .PublishDate.Format "2006-01-02T15:04:05-07:00" | safeHTMLAttr }}"> <meta property="article:published_time" content="{{ .PublishDate.Format "2006-01-02T15:04:05-07:00" | safeHTMLAttr }}">
@ -25,11 +33,13 @@
{{- with .Params.tags }}{{ range . }} {{- with .Params.tags }}{{ range . }}
<meta property="article:tag" content="{{ . }}">{{ end }}{{ end }} <meta property="article:tag" content="{{ . }}">{{ end }}{{ end }}
{{- end }} {{- end }}
<meta property="fb:admins" content="{{ .Site.Author.facebook_id }}"> {{ with .Site.Author.facebook_id }}<meta property="fb:admins" content="{{ . }}">{{ end }}
<meta property="fb:app_id" content="{{ .Site.Params.facebook_app_id }}"> {{ with .Site.Params.facebook_app_id }}<meta property="fb:app_id" content="{{ . }}">{{ end }}
<meta name="twitter:card" content="summary"> <meta name="twitter:card" content="summary">
<meta name="twitter:domain" content="{{ .Site.Params.domain }}"> <meta name="twitter:domain" content="{{ .Site.Params.domain }}">
<meta name="twitter:site" content="{{ printf "%s%s" "@" .Site.Author.twitter }}"> {{- with .Site.Author.twitter }}
<meta name="twitter:creator" content="{{ printf "%s%s" "@" .Site.Author.twitter }}"> <meta name="twitter:site" content="{{ printf "%s%s" "@" . }}">
<meta name="twitter:creator" content="{{ printf "%s%s" "@" . }}">
{{- end }}
<meta name="twitter:dnt" content="on"> <meta name="twitter:dnt" content="on">
<meta name="twitter:widgets:csp" content="on"> <meta name="twitter:widgets:csp" content="on">

View File

@ -1,5 +1,7 @@
{{- $imagePath := "content/me_large.jpg" -}} {{- $imagePath := "" }}
{{- if .Params.image }}{{ $imagePath = (printf "%s%s%s%s" "content" (.OutputFormats.Get "html").RelPermalink "images/" .Params.image ) }}{{ end -}} {{- with .Params.image }}
{{- $imagePath = (printf "%s%s%s%s" "content" ($.OutputFormats.Get "html").RelPermalink "images/" .) }}
{{- end }}
{{- $image := resources.Get $imagePath -}} {{- $image := resources.Get $imagePath -}}
<script type="application/ld+json"> <script type="application/ld+json">
@ -13,14 +15,14 @@
"datePublished": {{ .PublishDate.Format "2006-01-02T15:04:05-07:00" }}, "datePublished": {{ .PublishDate.Format "2006-01-02T15:04:05-07:00" }},
"dateModified": {{ .PublishDate.Format "2006-01-02T15:04:05-07:00" }}, "dateModified": {{ .PublishDate.Format "2006-01-02T15:04:05-07:00" }},
"keywords": {{ with .Params.tags }}{{ delimit . ", " }}{{ end }}, "keywords": {{ with .Params.tags }}{{ delimit . ", " }}{{ end }},
"description": {{ if .Description }}{{ .Description }}{{ else }}{{ .Site.Params.description }}{{ end }}, "description": {{ with .Description }}{{ . }}{{ else }}{{ .Site.Params.description }}{{ end }},
"wordCount": "{{ .WordCount }}", "wordCount": "{{ .WordCount }}",
"author": { "author": {
"@id": "https://jarv.is/#author" "@id": {{ printf "%s%s" .Site.BaseURL "#author" }}
}, },
"publisher": { "publisher": {
"@type": "Organization", "@type": "Organization",
"name": {{ .Site.Author.name }}, "name": {{ .Site.Title }},
"url": {{ .Site.BaseURL }}, "url": {{ .Site.BaseURL }},
"logo": { "logo": {
"@type": "ImageObject", "@type": "ImageObject",
@ -28,12 +30,13 @@
"width": "2048", "width": "2048",
"height": "2048" "height": "2048"
} }
}, }{{ with $image }},
"image": { "image": {
"@type": "ImageObject", "@type": "ImageObject",
"url": {{ if .Params.image }}{{ (printf "%s%s%s" (.OutputFormats.Get "html").Permalink "images/" .Params.image ) }}{{ else }}{{ "me_large.jpg" | absURL }}{{ end }}, "url": {{ replace .Permalink "/content/" "/" }},
"width": "{{ $image.Width }}", "width": "{{ .Width }}",
"height": "{{ $image.Height }}" "height": "{{ .Height }}"
} }
{{- end }}
} }
</script> </script>

View File

@ -1,26 +1,36 @@
{{- with .Site.Author -}}
{{- $image := "" }}
{{- with $.Site.Params.defaultimage }}
{{- $image = resources.Get (printf "%s%s" "content" .) }}
{{- end -}}
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"@context": "http://schema.org", "@context": "http://schema.org",
"@type": "Person", "@type": "Person",
"@id": {{ printf "%s%s" .Site.BaseURL "#author" }}, "@id": {{ printf "%s%s" $.Site.BaseURL "#author" }},
"name": {{ .Site.Author.name }}, "name": {{ $.Site.Author.name }},
"url": {{ .Site.BaseURL }}, "url": {{ $.Site.BaseURL }},
"description": {{ .Site.Params.description }}, "description": {{ $.Site.Params.description }},
"jobTitle": {{ .Site.Author.jobtitle }}, {{ with .jobtitle }}"jobTitle": {{ . }},{{ end }}
{{- with $image }}
"image": { "image": {
"@type": "ImageObject", "@type": "ImageObject",
"url": {{ "me_large.jpg" | absURL }}, "url": {{ replace .Permalink "/content/" "/" }},
"width": "1200", "width": "{{ .Width }}",
"height": "1200" "height": "{{ .Height }}"
}, },
{{- end }}
"sameAs": [ "sameAs": [
{{ .Site.BaseURL }}, {{ $.Site.BaseURL }},
{{ printf "%s%s" "https://github.com/" .Site.Author.github }}, {{ with .github }}{{ printf "%s%s" "https://github.com/" . }},{{ end }}
{{ printf "%s%s" "https://twitter.com/" .Site.Author.twitter }}, {{ with .twitter }}{{ printf "%s%s" "https://twitter.com/" . }},{{ end }}
{{ printf "%s%s%s" "https://www.linkedin.com/in/" .Site.Author.linkedin "/" }}, {{ with .linkedin }}{{ printf "%s%s%s" "https://www.linkedin.com/in/" . "/" }},{{ end }}
{{ printf "%s%s" "https://www.facebook.com/" .Site.Author.facebook }}, {{ with .facebook }}{{ printf "%s%s" "https://www.facebook.com/" . }},{{ end }}
{{ printf "%s%s%s" "https://www.instagram.com/" .Site.Author.instagram "/" }}, {{ with .instagram }}{{ printf "%s%s%s" "https://www.instagram.com/" . "/" }},{{ end }}
{{ printf "%s%s" "https://" .Site.Author.mastodon }} {{ with .mastodon }}{{ printf "%s%s" "https://" . }}{{ end }}
] ]
} }
</script> </script>
{{- end -}}

View File

@ -21,6 +21,8 @@
<guid>{{ .Permalink }}</guid> <guid>{{ .Permalink }}</guid>
<description> <description>
{{ .Summary | html }} {{ .Summary | html }}
{{ printf "<![CDATA[ <a href=%q>Read more...</a> ]]>" .Permalink | safeHTML }}
</description> </description>
</item> </item>
{{ end }} {{ end }}

View File

@ -1,7 +1,7 @@
<amp-iframe <amp-iframe
layout="responsive" layout="responsive"
width="1200" width="1200"
height="{{ if .Get "height" }}{{ .Get "height" }}{{ else }}500{{ end }}" height="{{ with .Get "height" }}{{ . }}{{ else }}500{{ end }}"
scrolling="no" scrolling="no"
src="https://codepen.io/{{ .Get "username" }}/embed/{{ .Get "id" }}/?height={{ if .Get "height" }}{{ .Get "height" }}{{ else }}500{{ end }}&amp;theme-id=light&amp;default-tab={{ .Get "left-tab" }}{{ if .Get "right-tab" }},{{ .Get "right-tab" }}{{ end }}"> src="https://codepen.io/{{ .Get "username" }}/embed/{{ .Get "id" }}/?height={{ if .Get "height" }}{{ .Get "height" }}{{ else }}500{{ end }}&amp;theme-id=light&amp;default-tab={{ .Get "left-tab" }}{{ with .Get "right-tab" }},{{ . }}{{ end }}">
</amp-iframe> </amp-iframe>

View File

@ -1 +1,6 @@
<iframe height="{{ if .Get "height" }}{{ .Get "height" }}{{ else }}500{{ end }}" style="width: 100%;" scrolling="no" src="https://codepen.io/{{ .Get "username" }}/embed/{{ .Get "id" }}/?height={{ if .Get "height" }}{{ .Get "height" }}{{ else }}500{{ end }}&amp;theme-id=light&amp;default-tab={{ .Get "left-tab" }}{{ if .Get "right-tab" }},{{ .Get "right-tab" }}{{ end }}"></iframe> <iframe
height="{{ with .Get "height" }}{{ . }}{{ else }}500{{ end }}"
style="width: 100%;"
scrolling="no"
src="https://codepen.io/{{ .Get "username" }}/embed/{{ .Get "id" }}/?height={{ with .Get "height" }}{{ . }}{{ else }}500{{ end }}&amp;theme-id=light&amp;default-tab={{ .Get "left-tab" }}{{ with .Get "right-tab" }},{{ . }}{{ end }}">
</iframe>

View File

@ -1 +1,3 @@
<p class="center"><a href="https://github.com/{{ .Get "username" }}/{{ .Get "repo" }}" target="_blank" rel="noopener">View on GitHub</a></p> <p class="center">
<a href="https://github.com/{{ .Get "username" }}/{{ with .Get "repo" }}{{ . }}{{ end }}" target="_blank" rel="noopener">View on GitHub.</a>
</p>

View File

@ -1,2 +1,5 @@
<p style="text-align: center;"><a class="github-button" href="https://github.com/{{ .Get "username" }}/{{ .Get "repo" }}" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star {{ .Get "username" }}/{{ .Get "repo" }} on GitHub">Star</a>&nbsp;&nbsp;&nbsp;<a class="github-button" href="https://github.com/{{ .Get "username" }}/{{ .Get "repo" }}/issues" data-icon="octicon-issue-opened" data-size="large" data-show-count="true" aria-label="Issue {{ .Get "username" }}/{{ .Get "repo" }} on GitHub">Issue</a></p> <p style="text-align: center;">
<a class="github-button" href="https://github.com/{{ .Get "username" }}/{{ .Get "repo" }}" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star {{ .Get "username" }}/{{ .Get "repo" }} on GitHub">Star</a>&nbsp;&nbsp;&nbsp;
<a class="github-button" href="https://github.com/{{ .Get "username" }}/{{ .Get "repo" }}/issues" data-icon="octicon-issue-opened" data-size="large" data-show-count="true" aria-label="Issue {{ .Get "username" }}/{{ .Get "repo" }} on GitHub">Issue</a>
</p>
<script async defer src="https://buttons.github.io/buttons.js"></script> <script async defer src="https://buttons.github.io/buttons.js"></script>

View File

@ -28,13 +28,12 @@
<p class="image"> <p class="image">
<amp-img <amp-img
alt="{{ .Get "alt" }}" {{ with .Get "alt" }}alt="{{ . }}"{{ end }}
src="{{ $image.Permalink }}" src="{{ $image.Permalink }}"
width="{{ $displayWidth }}" width="{{ $displayWidth }}"
height="{{ $displayHeight }}" height="{{ $displayHeight }}"
layout="intrinsic" layout="intrinsic">
>
</amp-img> </amp-img>
</p> </p>
{{- with (.Get "caption") }}<p class="caption"><em>{{ . }}</em></p>{{ end -}} {{- with .Get "caption" }}<p class="caption"><em>{{ . }}</em></p>{{ end -}}

View File

@ -35,11 +35,11 @@
<p> <p>
{{- end -}} {{- end -}}
<img src="{{ $image.Permalink }}" width="{{ $displayWidth }}" height="{{ $displayHeight }}" <img src="{{ $image.Permalink }}" width="{{ $displayWidth }}" height="{{ $displayHeight }}"
{{- if .Get "alt" }} alt="{{ .Get "alt" }}"{{ end }} {{- with .Get "alt" }} alt="{{ . }}"{{ end }}
{{- if .Get "caption" }} title="{{ .Get "caption"}}"{{ end }}> {{- with .Get "caption" }} title="{{ . }}"{{ end }}>
{{- if .Get "caption" -}} {{- with .Get "caption" -}}
</picture> </picture>
<figcaption>{{ .Get "caption" }}</figcaption> <figcaption>{{ . }}</figcaption>
</figure> </figure>
{{- else -}} {{- else -}}
</p> </p>

View File

@ -1,21 +1,16 @@
{{- $video_webm := .Page.Resources.GetMatch (.Get "webm") -}}
{{- $video_mp4 := .Page.Resources.GetMatch (.Get "mp4") -}}
{{- $video_ogg := .Page.Resources.GetMatch (.Get "ogg") -}}
{{- $img_poster := .Page.Resources.GetMatch (.Get "poster") -}}
<amp-video <amp-video
layout="responsive" layout="responsive"
width="{{ if .Get "width" }}{{ .Get "width" }}{{ else }}910{{ end }}" width="{{ with .Get "width" }}{{ . }}{{ else }}910{{ end }}"
height="{{ if .Get "height" }}{{ .Get "height" }}{{ else }}600{{ end }}" height="{{ with .Get "height" }}{{ . }}{{ else }}600{{ end }}"
{{- if .Get "poster" }} poster="{{ $img_poster.Permalink }}"{{ end }} {{- with .Page.Resources.GetMatch (.Get "poster") }} poster="{{ .Permalink }}"{{ end }}
{{- if .Get "autoplay" }} autoplay{{ end }} {{- if .Get "autoplay" }} autoplay{{ end }}
{{- if .Get "loop" }} loop{{ end }} {{- if .Get "loop" }} loop{{ end }}
{{- if ne (.Get "nocontrols") "1" }} controls{{ end }}> {{- if ne (.Get "nocontrols") "1" }} controls{{ end }}>
{{ if .Get "webm" }}<source src="{{ $video_webm.Permalink }}" type="video/webm">{{ end }} {{ with .Page.Resources.GetMatch (.Get "webm") }}<source src="{{ .Permalink }}" type="video/webm">{{ end }}
{{ if .Get "mp4" }}<source src="{{ $video_mp4.Permalink }}" type="video/mp4">{{ end }} {{ with .Page.Resources.GetMatch (.Get "mp4") }}<source src="{{ .Permalink }}" type="video/mp4">{{ end }}
{{ if .Get "ogg" }}<source src="{{ $video_ogg.Permalink }}" type="video/ogg">{{ end }} {{ with .Page.Resources.GetMatch (.Get "ogg") }}<source src="{{ .Permalink }}" type="video/ogg">{{ end }}
<div fallback> <div fallback>
<p>Your browser does not support HTML5 video. <a href="{{ $video_mp4.Permalink }}">Load the .mp4 video directly.</a></p> <p>Your browser does not support HTML5 video. {{ with .Page.Resources.GetMatch (.Get "mp4") }}<a href="{{ .Permalink }}">Load the .mp4 video directly.</a>{{ end }}</p>
</div> </div>
</amp-video> </amp-video>

View File

@ -1,18 +1,13 @@
{{- $video_webm := .Page.Resources.GetMatch (.Get "webm") -}}
{{- $video_mp4 := .Page.Resources.GetMatch (.Get "mp4") -}}
{{- $video_ogg := .Page.Resources.GetMatch (.Get "ogg") -}}
{{- $img_poster := .Page.Resources.GetMatch (.Get "poster") -}}
<video class="embed" <video class="embed"
{{- if .Get "width" }} width="{{ .Get "width" }}"{{ end }} {{- with .Get "width" }} width="{{ . }}"{{ end }}
{{- if .Get "height" }} height="{{ .Get "height" }}"{{ end }} {{- with .Get "height" }} height="{{ . }}"{{ end }}
{{- if .Get "poster" }} poster="{{ $img_poster.Permalink }}"{{ end }} {{- with .Page.Resources.GetMatch (.Get "poster") }} poster="{{ .Permalink }}"{{ end }}
{{- if .Get "autoplay" }} autoplay{{ end }} {{- if .Get "autoplay" }} autoplay{{ end }}
{{- if .Get "loop" }} loop{{ end }} {{- if .Get "loop" }} loop{{ end }}
{{- if ne (.Get "nocontrols") "1" }} controls{{ end }}> {{- if ne (.Get "nocontrols") "1" }} controls{{ end }}>
{{ if .Get "webm" }}<source src="{{ $video_webm.Permalink }}" type="video/webm">{{ end }} {{ with .Page.Resources.GetMatch (.Get "webm") }}<source src="{{ .Permalink }}" type="video/webm">{{ end }}
{{ if .Get "mp4" }}<source src="{{ $video_mp4.Permalink }}" type="video/mp4">{{ end }} {{ with .Page.Resources.GetMatch (.Get "mp4") }}<source src="{{ .Permalink }}" type="video/mp4">{{ end }}
{{ if .Get "ogg" }}<source src="{{ $video_ogg.Permalink }}" type="video/ogg">{{ end }} {{ with .Page.Resources.GetMatch (.Get "ogg") }}<source src="{{ .Permalink }}" type="video/ogg">{{ end }}
<p>Your browser does not support HTML5 video. <a href="{{ $video_mp4.Permalink }}">Load the .mp4 video directly.</a></p> <p>Your browser does not support HTML5 video. {{ with .Page.Resources.GetMatch (.Get "mp4") }}<a href="{{ .Permalink }}">Load the .mp4 video directly.</a>{{ end }}</p>
</video> </video>

View File

@ -1,3 +1,7 @@
<div class="embed video-player"> <div class="embed video-player">
<iframe class="youtube-player" src="https://www.youtube-nocookie.com/embed/{{ index .Params 0 }}?autoplay=0&amp;hl=en&amp;fs=1&amp;showinfo=1&amp;rel=0&amp;iv_load_policy=3" allowfullscreen></iframe> <iframe
class="youtube-player"
src="https://www.youtube-nocookie.com/embed/{{ index .Params 0 }}?autoplay=0&amp;hl=en&amp;fs=1&amp;showinfo=1&amp;rel=0&amp;iv_load_policy=3"
allowfullscreen>
</iframe>
</div> </div>

View File

@ -25,11 +25,15 @@
# Support ancient RSS subscriptions from WordPress era: # Support ancient RSS subscriptions from WordPress era:
[[redirects]] [[redirects]]
from = "/feed" from = "/feed"
to = "/index.xml" to = "/feed.xml"
status = 301 status = 301
[[redirects]] [[redirects]]
from = "/rss" from = "/rss"
to = "/index.xml" to = "/feed.xml"
status = 301
[[redirects]]
from = "/index.xml"
to = "/feed.xml"
status = 301 status = 301
# Mirror Y2K site from GitHub Pages: # Mirror Y2K site from GitHub Pages:

View File

@ -18,7 +18,7 @@
"build:preview": "yarn clean && yarn hugo:build-dev", "build:preview": "yarn clean && yarn hugo:build-dev",
"hugo:build": "hugo --gc --cleanDestinationDir --verbose", "hugo:build": "hugo --gc --cleanDestinationDir --verbose",
"hugo:build-dev": "cross-env HUGO_ENV=development hugo -e development -b $DEPLOY_PRIME_URL --gc --cleanDestinationDir --buildDrafts --buildFuture --verbose", "hugo:build-dev": "cross-env HUGO_ENV=development hugo -e development -b $DEPLOY_PRIME_URL --gc --cleanDestinationDir --buildDrafts --buildFuture --verbose",
"hugo:serve": "hugo server --buildDrafts --buildFuture --port 1313 --bind 0.0.0.0 --verbose", "hugo:serve": "hugo server --buildDrafts --buildFuture --renderToDisk --port 1313 --bind 0.0.0.0 --verbose",
"docker:serve": "docker build -t jarv.is:develop -f Dockerfile . && docker run -v $(pwd):/src -p 1313:1313 jarv.is:develop", "docker:serve": "docker build -t jarv.is:develop -f Dockerfile . && docker run -v $(pwd):/src -p 1313:1313 jarv.is:develop",
"netlify:serve": "netlify dev --command 'yarn hugo:serve'", "netlify:serve": "netlify dev --command 'yarn hugo:serve'",
"optimize": "yarn optimize:html && yarn optimize:css && yarn optimize:img", "optimize": "yarn optimize:html && yarn optimize:css && yarn optimize:img",