mirror of
https://git.sr.ht/~seirdy/seirdy.one
synced 2024-11-10 08:12:11 +00:00
Compare commits
7 commits
6f2b2d5fff
...
0f930c28f7
Author | SHA1 | Date | |
---|---|---|---|
|
0f930c28f7 | ||
|
71bb714ba2 | ||
|
425071eade | ||
|
874414229e | ||
|
854010c8c4 | ||
|
7c709cb91e | ||
|
b557bb9474 |
14 changed files with 131 additions and 133 deletions
|
@ -1,9 +1,13 @@
|
||||||
---
|
---
|
||||||
|
# we rsync binaries.tar.gz from the same server we deploy to.
|
||||||
|
# it contains these static-pie binaries:
|
||||||
|
# hugo, brotli, ect (like gzip/zopfli), sd, and xmlfmt.
|
||||||
image: alpine/edge
|
image: alpine/edge
|
||||||
packages:
|
packages:
|
||||||
- rsync
|
- rsync
|
||||||
- git # for Hugo's gitInfo
|
- git # for Hugo's gitInfo
|
||||||
- bmake
|
- bmake
|
||||||
|
- moreutils
|
||||||
sources:
|
sources:
|
||||||
- https://git.sr.ht/~seirdy/seirdy.one
|
- https://git.sr.ht/~seirdy/seirdy.one
|
||||||
secrets:
|
secrets:
|
||||||
|
|
|
@ -13,7 +13,7 @@ sitemap:
|
||||||
Seirdy’s Home
|
Seirdy’s Home
|
||||||
=============
|
=============
|
||||||
|
|
||||||
I'm <a itemprop="url" href="https://seirdy.one" rel="author home canonical me" class="u-url u-uid url"> {{% indieweb-icon %}} <span itemprop="name" class="p-name fn n"> <span itemprop="givenName" class="p-given-name given-name">Rohan</span> <span itemprop="familyName" class="p-family-name family-name">Kumar</span></span></a>, a.k.a. <span itemprop="alternateName" class="p-nickname nickname">Seirdy</span> (online handle).
|
I'm <a itemprop="url" href="https://seirdy.one" rel="author me home canonical" class="u-url u-uid url"> {{% indieweb-icon %}} <span itemprop="name" class="p-name fn n"> <span itemprop="givenName" class="p-given-name given-name">Rohan</span> <span itemprop="familyName" class="p-family-name family-name">Kumar</span></span></a>, a.k.a. <span itemprop="alternateName" class="p-nickname nickname">Seirdy</span> (online handle).
|
||||||
|
|
||||||
Other versions of this website
|
Other versions of this website
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
template: "notes.html"
|
template: "notes.html"
|
||||||
description: "All the notes on Seirdy's Home"
|
description: "All the microblogs (\"notes\") on Seirdy's Home"
|
||||||
title: "Notes"
|
title: "Notes"
|
||||||
sitemap:
|
sitemap:
|
||||||
ChangeFreq: daily
|
ChangeFreq: daily
|
||||||
|
|
|
@ -7,7 +7,7 @@ Reply to {{< mention-work itemprop="about" itemtype="SocialMediaPosting" reply=t
|
||||||
{{</mention-work>}}
|
{{</mention-work>}}
|
||||||
</aside>
|
</aside>
|
||||||
|
|
||||||
Commodification means something else; I'm assuming you're referring to "commoditize", as in "commoditize your complement". Although in this context the words have some _really interesting_ overlap, which is why I brought it up. See {{<mention-work itemprop="citation" role="doc-cite" itemtype="BlogPosting">}}{{<cited-work url="https://rushkoff.com/commodified-vs-commoditized/" name="Commodified vs. Commoditized">}} by {{<indieweb-person first-name="Douglas" last-name="Rushkoff" url="https://rushkoff.com">}}{{</mention-work>}}.
|
Commodification means something else; I'm assuming you're referring to "commoditize", as in "commoditize your complement". Although in this context the words have some _really interesting_ overlap, which is why I brought it up. See {{<mention-work itemprop="citation" role="doc-credit" itemtype="BlogPosting">}}{{<cited-work url="https://rushkoff.com/commodified-vs-commoditized/" name="Commodified vs. Commoditized">}} by {{<indieweb-person first-name="Douglas" last-name="Rushkoff" url="https://rushkoff.com">}}{{</mention-work>}}.
|
||||||
|
|
||||||
We are first commodified by being made a complement to a product, then gradually commoditized as complements ideally are.
|
We are first commodified by being made a complement to a product, then gradually commoditized as complements ideally are.
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ Pale Moon's inception pre-dates Firefox 57 by many years; before its notoriety f
|
||||||
|
|
||||||
I hate that Pale Moon is so behind on security because it also has nice stuff that Mozilla axed. Some things were axed for good reason, like extensions with the ability to alter browser functionality. Others were axed without good reason, like built-in RSS/Atom support.
|
I hate that Pale Moon is so behind on security because it also has nice stuff that Mozilla axed. Some things were axed for good reason, like extensions with the ability to alter browser functionality. Others were axed without good reason, like built-in RSS/Atom support.
|
||||||
|
|
||||||
WebExtensions that fill in missing functionality often require content injection which is problematic for a variety of reasons (try visiting a page that has a <samp>sandbox</samp> CSP directive without `allow-same-origin` or `allow-scripts` and see how well it works, or seeing their scripts activate too late when your underpowered machine is under load). It's better than giving them access to browser functionality but nothing beats having features in the actual browser.
|
WebExtensions that fill in missing functionality often require content injection which is problematic for a variety of reasons. To name a few: try visiting a page that has a <samp>sandbox</samp> CSP directive without <samp>allow-same-origin</samp> or <samp>allow-scripts</samp> and see how well it works, saving a page and noticing it has extra scripts or iframes, or seeing addon scripts activate too late when your underpowered machine is under load). It's better than giving them access to browser functionality but nothing beats having features in the actual browser.
|
||||||
|
|
||||||
I still wouldn't recommend it due to extremely weak sandboxing and a naive approach to security. The devs respond to sandboxing queries by saying it's secure because "it separates the content and application" which tells you how little they care or understand; untrusted content needs isolation not just from the browser but from other untrusted content. Given the scope of a browser, even Firefox isn't where it should be (even given their commendable progress on Fission, RLBox, and their utility process overhaul), let alone caught up to the mitigations in Chromium's Blink or WebKit's JavaScriptCore but I digress.
|
I still wouldn't recommend it due to extremely weak sandboxing and a naive approach to security. The devs respond to sandboxing queries by saying it's secure because "it separates the content and application" which tells you how little they care or understand; untrusted content needs isolation not just from the browser but from other untrusted content. Given the scope of a browser, even Firefox isn't where it should be (even given their commendable progress on Fission, RLBox, and their utility process overhaul), let alone caught up to the mitigations in Chromium's Blink or WebKit's JavaScriptCore but I digress.
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
template: "posts.html"
|
template: "posts.html"
|
||||||
description: "All the posts on Seirdy's Home"
|
description: "All the long-form posts on Seirdy's Home"
|
||||||
title: "Posts"
|
title: "Posts"
|
||||||
sitemap:
|
sitemap:
|
||||||
ChangeFreq: weekly
|
ChangeFreq: weekly
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<title>{{ .Section | humanize}} on {{ .Site.Title }}</title>
|
<title>{{ .Section | humanize}} on {{ .Site.Title }}</title>
|
||||||
<link rel="self" type="application/atom+xml" href="{{ .Permalink }}atom.xml" />
|
<link rel="self" type="application/atom+xml" href="{{ .Permalink }}atom.xml" />
|
||||||
<icon>{{ .Site.Params.icon | absURL }}</icon>
|
<icon>{{ .Site.Params.icon | absURL }}</icon>
|
||||||
<subtitle>{{ .Site.Params.Description }}</subtitle>
|
<subtitle>{{ .Params.Description }}</subtitle>
|
||||||
<author>
|
<author>
|
||||||
<name>Rohan Kumar</name>
|
<name>Rohan Kumar</name>
|
||||||
<uri>https://seirdy.one/</uri>
|
<uri>https://seirdy.one/</uri>
|
||||||
|
@ -26,9 +26,9 @@
|
||||||
</author>
|
</author>
|
||||||
<id>{{ .Permalink }}</id>
|
<id>{{ .Permalink }}</id>
|
||||||
<rights>CC-BY-SA 4.0 by Rohan Kumar</rights>
|
<rights>CC-BY-SA 4.0 by Rohan Kumar</rights>
|
||||||
<content type="xhtml">
|
<content type="xhtml" xml:base="{{ .Permalink }}">
|
||||||
<div xmlns="http://www.w3.org/1999/xhtml">
|
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||||
{{ partial "processed-content.html" . | replaceRE `(?: )?item(type|scope|prop|id|ref)="[^"]*"` "" | safeHTML }}
|
{{ partial "processed-content.html" . | replaceRE `(?: )?(?:item(type|scope|prop|id|ref)="[^"]*"|class="language-figure")` "" | safeHTML }}
|
||||||
</div>
|
</div>
|
||||||
</content>
|
</content>
|
||||||
<object-type xmlns="http://activitystrea.ms/spec/1.0/">
|
<object-type xmlns="http://activitystrea.ms/spec/1.0/">
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
||||||
{{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
|
{{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
|
||||||
<guid>{{ .Permalink }}</guid>
|
<guid>{{ .Permalink }}</guid>
|
||||||
<description>{{- .Content | replaceRE `(?: )?item(type|scope|prop|id|ref)="[^"]*"` "" | html -}}</description>
|
<description>{{- .Content | replaceRE `(?: )?(?:item(type|scope|prop|id|ref)="[^"]*"|class="language-figure")` "" | html -}}</description>
|
||||||
</item>
|
</item>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
|
@ -1,83 +1,80 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
{{- $canonicalRelPermalink := .RelPermalink | replaceRE "^/~seirdy/" "/" }}
|
{{- $canonicalRelPermalink := .RelPermalink | replaceRE "^/~seirdy/" "/" }}
|
||||||
<meta name="disabled-adaptations" content="watch" /><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
<meta name="disabled-adaptations" content="watch" /><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
||||||
{{ if or (eq site.BaseURL site.Params.CanonicalBaseURL) (in site.BaseURL "wgq3bd2kqoybhstp77i3wrzbfnsyd27wt34psaja4grqiezqircorkyd.onion") -}}
|
{{ if or (eq site.BaseURL site.Params.CanonicalBaseURL) (in site.BaseURL "wgq3bd2kqoybhstp77i3wrzbfnsyd27wt34psaja4grqiezqircorkyd.onion") -}}
|
||||||
<meta name="robots" content="index,follow,max-image-preview:large,max-snippet=-1" />
|
<meta name="robots" content="index,follow,max-image-preview:large,max-snippet=-1" />
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
<link href="{{ .Site.Params.CanonicalBaseURL }}{{ $canonicalRelPermalink }}" rel="canonical" />
|
<link href="{{ .Site.Params.CanonicalBaseURL }}{{ $canonicalRelPermalink }}" rel="canonical" />
|
||||||
<link href="{{ .Site.Params.WebmentionEndpoint }}" rel="webmention" />
|
<link href="{{ .Site.Params.WebmentionEndpoint }}" rel="webmention" />
|
||||||
{{ $webmanifest := resources.Get "/manifest.webmanifest" | resources.ExecuteAsTemplate "manifest.webmanifest" . | resources.Minify | resources.Fingerprint "md5" -}}
|
{{ $webmanifest := resources.Get "/manifest.webmanifest" | resources.ExecuteAsTemplate "manifest.webmanifest" . | resources.Minify | resources.Fingerprint "md5" -}}
|
||||||
{{- printf `<link href="%s" rel="manifest" />` $webmanifest.RelPermalink | safeHTML -}}
|
{{- printf `<link href="%s" rel="manifest" />` $webmanifest.RelPermalink | safeHTML -}}
|
||||||
<!--Feeds for both notes and posts; posts come first unless we're in the notes section.-->
|
<!--Feeds for both notes and posts; posts come first unless we're in the notes section.-->
|
||||||
{{- $isNotes := false -}}
|
{{- $isNotes := false -}}
|
||||||
{{- if or (eq .Section "notes") (eq .Title "Notes") -}}
|
{{- if or (eq .Section "notes") (eq .Title "Notes") -}}
|
||||||
{{- $isNotes = true -}}
|
{{- $isNotes = true -}}
|
||||||
<link rel="alternate" type="application/atom+xml" href="{{ site.BaseURL }}notes/atom.xml" title="Notes" />
|
<link rel="alternate" type="application/atom+xml" href="{{ site.BaseURL }}notes/atom.xml" title="Notes" />
|
||||||
{{- end }}
|
{{- end }}
|
||||||
<link rel="alternate" type="application/atom+xml" href="{{ site.BaseURL }}posts/atom.xml" title="Posts" />
|
<link rel="alternate" type="application/atom+xml" href="{{ site.BaseURL }}posts/atom.xml" title="Posts" />
|
||||||
{{ if not $isNotes -}}
|
{{ if not $isNotes -}}
|
||||||
<link rel="alternate" type="application/atom+xml" href="{{ site.BaseURL }}/notes/atom.xml" title="Notes" />
|
<link rel="alternate" type="application/atom+xml" href="{{ site.BaseURL }}/notes/atom.xml" title="Notes" />
|
||||||
{{- end }}
|
{{- end }}
|
||||||
<title>{{ .Title }}{{ if and (lt (len .Title) 54) (ne $canonicalRelPermalink "/") }} - Seirdy{{ end }}</title>
|
<title>{{ .Title }}{{ if and (lt (len .Title) 54) (ne $canonicalRelPermalink "/") }} - Seirdy{{ end }}</title>
|
||||||
{{ $description := .Site.Params.Description -}}
|
{{ $description := .Site.Params.Description -}}
|
||||||
{{- if .Params.description -}}
|
{{- if .Params.description -}}
|
||||||
{{- $description = .Params.Description -}}
|
{{- $description = .Params.Description -}}
|
||||||
{{- else if .Summary -}}
|
{{- else if .Summary -}}
|
||||||
{{- $description = .Summary | replaceRE `\n` ` ` | replaceRE `\’` `’` | replaceRE `\ ` `\ ` | replaceRE `\“` `“` | replaceRE `\”` `”` | replaceRE `\…` `—` | replaceRE `\—` `—` | replaceRE `\­` `\­` | replaceRE `‘` `‘` | safeHTML -}}
|
{{- $description = .Summary | replaceRE `\n` ` ` | replaceRE `\’` `’` | replaceRE `\ ` `\ ` | replaceRE `\“` `“` | replaceRE `\”` `”` | replaceRE `\…` `—` | replaceRE `\—` `—` | replaceRE `\­` `\­` | replaceRE `‘` `‘` | safeHTML -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
<meta name="description" content="{{ $description }}" />
|
<meta name="description" content="{{ $description }}" />
|
||||||
<meta name="author" content="{{ .Site.Author.name }}" />
|
<meta name="author" content="{{ .Site.Author.name }}" />
|
||||||
<meta property="article:author" content="{{ .Site.Author.name }}" />
|
<meta property="article:author" content="{{ .Site.Author.name }}" />
|
||||||
{{ if and (gt .Date 0) (not .Params.evergreen) -}}
|
{{ if and (gt .Date 0) (not .Params.evergreen) -}}
|
||||||
<meta property="article:published_time" content="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}" />
|
<meta property="article:published_time" content="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}" />
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
{{ if lt .Date .Lastmod -}}
|
{{ if lt .Date .Lastmod -}}
|
||||||
<meta property="article:modified_time" content="{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}" />
|
<meta property="article:modified_time" content="{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}" />
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
<!--the Tor Browser's safest setting disables SVGs but still downloads them to avoid fingerprinting-->
|
<!--the Tor Browser's safest setting disables SVGs but still downloads them to avoid fingerprinting-->
|
||||||
{{ if not (in site.BaseURL ".onion") -}}
|
{{ if not (in site.BaseURL ".onion") -}}
|
||||||
{{ $icon_svg := resources.Get "/favicon.svg" | resources.Fingerprint "md5" }}
|
{{ $icon_svg := resources.Get "/favicon.svg" | resources.Fingerprint "md5" }}
|
||||||
{{- printf `<link rel="icon" sizes="any" href="%s" type="image/svg+xml" />` $icon_svg.RelPermalink | safeHTML }}
|
{{- printf `<link rel="icon" sizes="any" href="%s" type="image/svg+xml" />` $icon_svg.RelPermalink | safeHTML }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{ $icon_192 := resources.Get "/apple-touch-icon.png" | resources.Fingerprint "md5" }}
|
{{ $icon_192 := resources.Get "/apple-touch-icon.png" | resources.Fingerprint "md5" }}
|
||||||
{{- printf `<link rel="icon" sizes="192x192" href="%s" type="image/png" />` $icon_192.RelPermalink | safeHTML -}}
|
{{- printf `<link rel="icon" sizes="192x192" href="%s" type="image/png" />` $icon_192.RelPermalink | safeHTML -}}
|
||||||
{{ $favicon := resources.Get "/favicon.png" -}}
|
<meta name="color-scheme" content="light dark" />
|
||||||
{{ $favicon_base64 := $favicon.Content | base64Encode }}
|
<meta name="format-detection" content="telephone=no" /><!-- Why does apple do this -->
|
||||||
{{ printf `<link rel="icon" sizes="32x32" href="data:image/png;base64,%s" type="image/png" />` $favicon_base64 | safeHTML }}
|
<meta name="theme-color" content="#111" media="(prefers-color-scheme:dark)" />
|
||||||
<meta name="color-scheme" content="light dark" />
|
<meta name="theme-color" content="#fff" media="(prefers-color-scheme:light)" />
|
||||||
<meta name="format-detection" content="telephone=no" /><!-- Why does apple do this -->
|
<!-- inline CSS; remember to allow it with a hash in the CSP -->
|
||||||
<meta name="theme-color" content="#111" media="(prefers-color-scheme:dark)" />
|
{{- $resources := slice -}}
|
||||||
<meta name="theme-color" content="#fff" media="(prefers-color-scheme:light)" />
|
{{- $resources = $resources | append (resources.Get "/css/main.css") -}}
|
||||||
<!-- inline CSS; remember to allow it with a hash in the CSP -->
|
{{ $dark := .Site.Params.dark | default "auto" -}}
|
||||||
{{- $resources := slice -}}
|
{{- if not (eq $dark "off") -}}
|
||||||
{{- $resources = $resources | append (resources.Get "/css/main.css") -}}
|
{{ $resources = $resources | append (resources.Get "css/dark.css" | resources.ExecuteAsTemplate "dark.css" .) -}}
|
||||||
{{ $dark := .Site.Params.dark | default "auto" -}}
|
{{- end -}}
|
||||||
{{- if not (eq $dark "off") -}}
|
{{ $resources = $resources | append (resources.Get "css/print.css" | resources.ExecuteAsTemplate "print.css" .) -}}
|
||||||
{{ $resources = $resources | append (resources.Get "css/dark.css" | resources.ExecuteAsTemplate "dark.css" .) -}}
|
{{- $css := $resources | resources.Concat "css/style.css" | minify -}}
|
||||||
{{- end -}}
|
<style>{{ $css.Content | safeCSS }}</style>
|
||||||
{{ $resources = $resources | append (resources.Get "css/print.css" | resources.ExecuteAsTemplate "print.css" .) -}}
|
<meta property="og:title" content="{{ .Title }}" />
|
||||||
{{- $css := $resources | resources.Concat "css/style.css" | minify -}}
|
<meta property="og:site_name" content="{{ $.Site.Title }}" />
|
||||||
<style>{{ $css.Content | safeCSS }}</style>
|
{{- if not (or (ne "page" .Kind) (eq $canonicalRelPermalink "/bookmarks/") (eq $canonicalRelPermalink "/posts/")) }}
|
||||||
<meta property="og:title" content="{{ .Title }}" />
|
<meta property="og:type" content="article" />
|
||||||
<meta property="og:site_name" content="{{ $.Site.Title }}" />
|
{{- end -}}
|
||||||
{{- if not (or (ne "page" .Kind) (eq $canonicalRelPermalink "/bookmarks/") (eq $canonicalRelPermalink "/posts/")) }}
|
<!-- ANOTHER meta image?! When will it end? -->
|
||||||
<meta property="og:type" content="article" />
|
{{- $og_image := resources.Get "/favicon512.png" | resources.Fingerprint "md5" -}}
|
||||||
{{- end -}}
|
{{- $og_image_alt := "" -}}<!--Default open graph image is purely decorative and visual, so it should be hidden from assistive technologies.-->
|
||||||
<!-- ANOTHER meta image?! When will it end? -->
|
{{- with .Params.image -}}
|
||||||
{{- $og_image := resources.Get "/favicon512.png" | resources.Fingerprint "md5" -}}
|
|
||||||
{{- $og_image_alt := "" -}}<!--Default open graph image is purely decorative and visual, so it should be hidden from assistive technologies.-->
|
|
||||||
{{- with .Params.image -}}
|
|
||||||
{{- $og_image = resources.Get (printf "/p/%s" . ) | resources.Fingerprint "md5" -}}
|
{{- $og_image = resources.Get (printf "/p/%s" . ) | resources.Fingerprint "md5" -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- with .Params.image_alt -}}
|
{{- with .Params.image_alt -}}
|
||||||
{{- $og_image_alt = . -}}
|
{{- $og_image_alt = . -}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{ printf `<meta property="og:image" content="%s" />` $og_image.Permalink | safeHTML }}
|
{{ printf `<meta property="og:image" content="%s" />` $og_image.Permalink | safeHTML }}
|
||||||
<meta property="og:image:type" content="image/png" />
|
<meta property="og:image:type" content="image/png" />
|
||||||
<meta property="og:image:height" content="{{ $og_image.Height }}" /><meta property="og:image:width" content="{{ $og_image.Width }}" />
|
<meta property="og:image:height" content="{{ $og_image.Height }}" /><meta property="og:image:width" content="{{ $og_image.Width }}" />
|
||||||
<meta property="og:image:alt" content="{{ $og_image_alt }}" />
|
<meta property="og:image:alt" content="{{ $og_image_alt }}" />
|
||||||
<meta property="og:url" content="{{ .Site.Params.CanonicalBaseURL }}{{ $canonicalRelPermalink }}" />
|
<meta property="og:url" content="{{ .Site.Params.CanonicalBaseURL }}{{ $canonicalRelPermalink }}" />
|
||||||
<meta property="og:description" content="{{ $description }}" />
|
<meta property="og:description" content="{{ $description }}" />
|
||||||
{{ hugo.Generator }}
|
{{ hugo.Generator }}
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -1,18 +1,14 @@
|
||||||
<header>
|
<header>
|
||||||
<nav aria-label="Global">
|
<nav aria-label="Global">
|
||||||
<ul>
|
<ul>
|
||||||
{{- $currentPage := . -}}
|
{{- $currentPage := . -}}
|
||||||
{{- $canonicalRelPermalink := $currentPage.RelPermalink | replaceRE "^/~seirdy/" "/" }}
|
{{- $canonicalRelPermalink := $currentPage.RelPermalink | replaceRE "^/~seirdy/" "/" }}
|
||||||
{{- $isHome := false -}}
|
{{- $isHome := false -}}
|
||||||
{{- if eq $currentPage.RelPermalink "/" -}}
|
{{- if eq $canonicalRelPermalink "/" -}}
|
||||||
{{- $isHome = true -}}
|
{{- $isHome = true -}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
<li
|
<li
|
||||||
{{ if $isHome -}}
|
|
||||||
itemprop="sameAs"
|
|
||||||
{{ else -}}
|
|
||||||
itemprop="isPartOf"
|
itemprop="isPartOf"
|
||||||
{{ end -}}
|
|
||||||
itemscope="" itemtype="https://schema.org/Blog https://schema.org/WebSite"
|
itemscope="" itemtype="https://schema.org/Blog https://schema.org/WebSite"
|
||||||
itemid="{{ .Site.Params.CanonicalBaseURL }}/">
|
itemid="{{ .Site.Params.CanonicalBaseURL }}/">
|
||||||
<a rel="home" itemprop="url" href="{{ .Site.BaseURL }}"{{- if $isHome }} aria-current="page"{{- end -}}>
|
<a rel="home" itemprop="url" href="{{ .Site.BaseURL }}"{{- if $isHome }} aria-current="page"{{- end -}}>
|
||||||
|
@ -37,4 +33,4 @@
|
||||||
{{- end }}
|
{{- end }}
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- $action }} <time{{ if not (.Params.evergreen) }} itemprop="dateCreated datePublished" class="dt-published published"{{ end }} datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}">{{ .Date.Format "2006-01-02" }}</time>
|
{{- $action }} <time{{ if not (.Params.evergreen) }} itemprop="dateCreated datePublished" class="dt-published published"{{ end }} datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}">{{ .Date.Format "2006-01-02" }}</time>
|
||||||
by {{- partial "indieweb-author.html" -}} on his <a rel="canonical" itemprop="mainEntityOfPage url" class="u-url url" href="{{ .Site.Params.CanonicalBaseURL }}{{ $canonicalRelPermalink }}">Website</a>{{- with .OutputFormats.Get "gemtext" -}}{{- printf " " -}}and <a rel="syndication" class="u-syndication" href="{{replace .Permalink "/gemini" "" 1 | safeURL}}">Gemini capsule</a>{{- end -}}.
|
by {{- partial "indieweb-author.html" -}} on his <a rel="canonical" itemprop="mainEntityOfPage url" class="u-url url" href="{{ .Site.Params.CanonicalBaseURL }}{{ $canonicalRelPermalink }}">Website</a>{{- with .OutputFormats.Get "gemtext" -}}{{- printf " " -}}and <a rel="syndication" class="u-syndication" href="{{replace .Permalink "/gemini" "" 1 | safeURL}}">Gemini capsule</a>{{- end -}}.
|
||||||
{{ if gt (sub .Lastmod.Unix .Date.Unix) 3600 -}}
|
{{ if gt (sub .Lastmod.Unix .Date.Unix) 900 -}}
|
||||||
<br />
|
<br />
|
||||||
Last updated <time itemprop="dateModified" class="dt-updated updated" datetime="{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}">{{ .Lastmod.Format "2006-01-02" }}</time>. <a href="{{ $logURL }}">Changelog</a>.
|
Last updated <time itemprop="dateModified" class="dt-updated updated" datetime="{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}">{{ .Lastmod.Format "2006-01-02" }}</time>. <a href="{{ $logURL }}">Changelog</a>.
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -55,5 +55,5 @@
|
||||||
<dd>This post does not have any approved Webmentions yet.</dd>
|
<dd>This post does not have any approved Webmentions yet.</dd>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
</dl>
|
</dl>
|
||||||
<p></p>
|
<p>Feel free to contact me directly with feedback; <a href="{{ .Site.BaseURL }}about/#location-seirdy-online">here’s my contact info</a></p>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
(btw this is all made of <span> cuz it is supposed to be inline)
|
(btw this is all made of <span> cuz it is supposed to be inline)
|
||||||
-->
|
-->
|
||||||
<span itemprop="author copyrightHolder" itemscope="" itemtype="https://schema.org/Person" itemid="https://seirdy.one/#seirdy" class="h-card p-author author vcard">
|
<span itemprop="author copyrightHolder" itemscope="" itemtype="https://schema.org/Person" itemid="https://seirdy.one/#seirdy" class="h-card p-author author vcard">
|
||||||
<a itemprop="url" href="https://seirdy.one/" rel="author home cc:attributionURL" class="u-url url" property="cc:attributionName">
|
<a itemprop="url" href="https://seirdy.one/" rel="author me home cc:attributionURL" class="u-url u-uid url" property="cc:attributionName">
|
||||||
{{ partial "indieweb-icon.html" -}}
|
{{ partial "indieweb-icon.html" -}}
|
||||||
<span itemprop="name" class="p-name fn n">
|
<span itemprop="name" class="p-name fn n">
|
||||||
<span itemprop="givenName" class="p-given-name given-name">Rohan</span>
|
<span itemprop="givenName" class="p-given-name given-name">Rohan</span>
|
||||||
|
|
|
@ -5,7 +5,8 @@
|
||||||
# XML tooling.
|
# XML tooling.
|
||||||
# this means that every index.html file has an equivalent index.xhtml file.
|
# this means that every index.html file has an equivalent index.xhtml file.
|
||||||
# content negotiation allows an agent to pick html or xhtml.
|
# content negotiation allows an agent to pick html or xhtml.
|
||||||
|
# echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
|
||||||
|
|
||||||
find "$1" -type f -name '*.html' \
|
find "$1" -type f -name '*.html' \
|
||||||
-exec sh -c 'echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" | cat - "$0" | grep -Fv "<meta charset=\"UTF-8\" />" >"${0%*.html}.xhtml"' {} \;
|
-exec sh -c 'echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" >"${0%*.html}.xhtml" && xmlfmt -i " " -f "$0" | busybox sed -e :a -e "/./,\$!d;/^\n*\$/{\$d;N;};/\n\$/ba" | sd -f m "\n(?:\t*)?</" "</" | sd -f m "<pre>\n\t*<code" "<pre><code" | pee "sed 5d >>\"${0%*.html}.xhtml\"" "sponge \"$0\""' {} \;
|
||||||
# done
|
# done
|
||||||
|
|
Loading…
Reference in a new issue