1
0
Fork 0
mirror of https://git.sr.ht/~seirdy/seirdy.one synced 2024-11-27 14:12:09 +00:00

Internal: re-org templates a bit

Split up some verbose and repetitive templates to use nested templates.
Cache some templates that don't need to be re-built every time.

Reading time: switch "a" to "an" when followed by the number "8".

Improve whitespace alignment a bit.
This commit is contained in:
Rohan Kumar 2022-04-27 08:44:13 -07:00
parent 8597e50a59
commit cffa22e79e
No known key found for this signature in database
GPG key ID: 1E892DB2A5F84479
7 changed files with 76 additions and 86 deletions

View file

@ -2,7 +2,7 @@
<html lang={{- default "" .Site.LanguageCode }} prefix="og: https://ogp.me/ns# article: https://ogp.me/ns/article# cc: http://creativecommons.org/ns#">
{{ partial "head.html" . -}}
<body itemscope itemtype="https://schema.org/Blog https://schema.org/WebPage">
{{ partial "header.html" . -}}
{{ partialCached "header.html" . .Section -}}
{{- block "main" . }}{{- end -}}
{{ partial "footer.html" . }}
{{ partialCached "footer.html" . }}
</body>

View file

@ -1,23 +1,5 @@
{{ define "main" }}
<main itemprop="blogPost mainEntity" itemscope itemtype="https://schema.org/BlogPosting">
<article class="h-entry hentry">
<header>
<h1 itemprop="name headline" class="p-name entry-title">{{ .Title }}</h1>
Posted <time itemprop="datePublished" class="dt-published published" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}" title="{{ .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" class="u-url url" href="https://seirdy.one{{ .RelPermalink }}">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 lt .Date .Lastmod -}}
<br>
Last updated <time itemprop="dateModified" class="dt-updated updated" datetime="{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}" title="{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}">{{ .Lastmod.Format "2006-01-02" }}</time>. <a href="{{ .Site.Params.logUrlPrefix }}content/{{ .File.Path }}">Changelog</a>.
{{- end }}
<br>
<small>
<span itemprop="wordCount">{{ .WordCount }}</span> words, a <span itemprop="timeRequired" content="PT{{ .ReadingTime }}M">{{ .ReadingTime }} minute</span> read
</small>
<hr>
</header>
<div class="e-content entry-content" itemprop="articleBody">
{{ partial "processed-content" . -}}
</div>
</article>
<main itemprop="mainEntity" itemscope itemtype="https://schema.org/Article">
{{ partial "full-article.html" . }}
</main>
{{ end }}

View file

@ -0,0 +1,10 @@
<article class="h-entry hentry">
<header>
<h1 itemprop="name headline" class="p-name entry-title">{{ .Title }}</h1>
{{ partial "post-meta.html" . }}
<hr>
</header>
<div class="e-content entry-content" itemprop="articleBody">
{{ partial "processed-content" . -}}
</div>
</article>

View file

@ -0,0 +1,11 @@
Posted <time itemprop="dateCreated datePublished" class="dt-published published" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}" title="{{ .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" class="u-url url" href="https://seirdy.one{{ .RelPermalink }}">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 lt .Date .Lastmod -}}
<br>
Last updated <time itemprop="dateModified" class="dt-updated updated" datetime="{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}" title="{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}">{{ .Lastmod.Format "2006-01-02" }}</time>. <a href="{{ .Site.Params.logUrlPrefix }}content/{{ .File.Path }}">Changelog</a>.
{{- end }}
<br>
<span itemprop="wordCount">{{ .WordCount }}</span> words
{{- with .ReadingTime }},
a{{ if hasPrefix (string .) "8" }}n{{ end }}
<span itemprop="timeRequired" content="PT{{ . }}M">{{ . }} minute</span> read{{- end }}

View file

@ -0,0 +1,44 @@
<section aria-labelledby="webmentions">
<h2 id="webmentions">Webmen&shy;tions</h2>
<p>This site supports <a href="https://indieweb.org/webmention">Webmentions</a>. Webmentions received for this post will appear below after I approve them. I sometimes send Webmentions to myself on behalf of linking sites that don't support them. Check the <a href="https://web.archive.org/">Wayback Machine</a> if any links are broken.</p>
<ul class="unstyled-list">
{{ $target := .RelPermalink -}}
{{ $url := printf "https://seirdy.one/webmentions/get?status=approved&target=https://seirdy.one%s" $target -}}
{{ $webmentions := getJSON $url -}}
{{ range $webmentions -}}
{{ $webmention := . -}}
{{ if (eq $webmention.type "like") -}}
<li itemprop="potentialAction" itemscope itemtype="https://schema.org/LikeAction" class="u-like h-cite">
{{- else -}}
<li itemprop="comment" itemscope itemtype="https://schema.org/Comment" class="u-comment h-cite">
{{- end }}
<time class="dt-published" itemprop="{{ if (eq $webmention.type "like") -}}startTime{{ else }}datePublished{{ end }}" datetime="{{ dateFormat "2006-01-02 15:04:05Z07:00" $webmention.created_at }}" title="{{ dateFormat "2006-01-02 15:04:05Z07:00" $webmention.created_at }}">{{ dateFormat "2006-01-02" $webmention.created_at }}</time>
<br>
{{ if (eq $webmention.type "like") -}}
{{- if $webmention.author_name -}}
<span itemprop="agent" itemscope itemtype="https://schema.org/Person" class="h-card p-author vcard"><span itemprop="name" class="p-name fn n">{{ $webmention.author_name }}</span></span>
{{- else if $webmention.title -}}
<span itemprop="name" class="p-name">{{ $webmention.title -}}</span>
{{- else -}}
{{ $webmention.source -}}
{{- end }}
<a class="u-url" href="{{ $webmention.source }}" rel="nofollow ugc">liked</a> this
{{- else -}}
<a class="u-url" href="{{ $webmention.source }}" rel="nofollow ugc"><span itemprop="name" class="p-content p-name">
{{- if $webmention.title -}}
{{- $webmention.title | truncate 200 -}}
{{- else -}}
{{- $webmention.source | truncate 35 -}}
{{- end -}}
</span></a>
{{- if $webmention.author_name }}
by <span itemprop="author" itemscope itemtype="https://schema.org/Person" class="h-card p-author vcard"><span itemprop="name" class="p-name fn n">{{ $webmention.author_name }}</span></span>
{{- end -}}
{{- end }}
</li>
{{ else -}}
<li><p>This post doesn't have any approved Webmentions yet.</p></li>
{{- end }}
</ul>
<p></p>
</section>

View file

@ -0,0 +1,5 @@
<span itemprop="wordCount">{{ .WordCount }}</span> words
{{- with .ReadingTime }},
a{{ if hasPrefix (string .) "8" }}n
{{- end }}
<span itemprop="timeRequired" content="PT{{ . }}M">{{ . }} minute</span> read{{ end -}}

View file

@ -1,69 +1,7 @@
{{- define "main" -}}
{{- .Scratch.Set "codeIndex" 1 -}}
<main itemprop="blogPost mainEntity" itemscope itemtype="https://schema.org/BlogPosting">
<article class="h-entry hentry">
<header>
<h1 itemprop="name headline" class="p-name entry-title">{{ .Title }}</h1>
Posted <time itemprop="dateCreated datePublished" class="dt-published published" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}" title="{{ .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" class="u-url url" href="https://seirdy.one{{ .RelPermalink }}">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 lt .Date .Lastmod -}}
<br>
Last updated <time itemprop="dateModified" class="dt-updated updated" datetime="{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}" title="{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}">{{ .Lastmod.Format "2006-01-02" }}</time>. <a href="{{ .Site.Params.logUrlPrefix }}content/{{ .File.Path }}">Changelog</a>.
{{- end }}
<br>
<small>
<span itemprop="wordCount">{{ .WordCount }}</span> words, a <span itemprop="timeRequired" content="PT{{ .ReadingTime }}M">{{ .ReadingTime }} minute</span> read
</small>
<hr>
</header>
<div class="e-content entry-content" itemprop="articleBody">
{{ partial "processed-content" . -}}
</div>
</article>
<!--the "comment" class is read by a few content extractors-->
<section aria-labelledby="webmentions">
<h2 id="webmentions">Webmen&shy;tions</h2>
<p>This site supports <a href="https://indieweb.org/webmention">Webmentions</a>. Webmentions received for this post will appear below after I approve them. I sometimes send Webmentions to myself on behalf of linking sites that don't support them. Check the <a href="https://web.archive.org/">Wayback Machine</a> if any links are broken.</p>
<ul class="unstyled-list">
{{ $target := .RelPermalink -}}
{{ $url := printf "https://seirdy.one/webmentions/get?status=approved&target=https://seirdy.one%s" $target -}}
{{ $webmentions := getJSON $url -}}
{{ range $webmentions -}}
{{ $webmention := . -}}
{{ if (eq $webmention.type "like") -}}
<li itemprop="potentialAction" itemscope itemtype="https://schema.org/LikeAction" class="u-like h-cite">
{{- else -}}
<li itemprop="comment" itemscope itemtype="https://schema.org/Comment" class="u-comment h-cite">
{{- end }}
<time class="dt-published" itemprop="{{ if (eq $webmention.type "like") -}}startTime{{ else }}datePublished{{ end }}" datetime="{{ dateFormat "2006-01-02 15:04:05Z07:00" $webmention.created_at }}" title="{{ dateFormat "2006-01-02 15:04:05Z07:00" $webmention.created_at }}">{{ dateFormat "2006-01-02" $webmention.created_at }}</time>
<br>
{{ if (eq $webmention.type "like") -}}
{{- if $webmention.author_name -}}
<span itemprop="agent" itemscope itemtype="https://schema.org/Person" class="h-card p-author vcard"><span itemprop="name" class="p-name fn n">{{ $webmention.author_name }}</span></span>
{{- else if $webmention.title -}}
<span itemprop="name" class="p-name">{{ $webmention.title -}}</span>
{{- else -}}
{{ $webmention.source -}}
{{- end }}
<a class="u-url" href="{{ $webmention.source }}" rel="nofollow ugc">liked</a> this
{{- else -}}
<a class="u-url" href="{{ $webmention.source }}" rel="nofollow ugc"><span itemprop="name" class="p-content p-name">
{{- if $webmention.title -}}
{{- $webmention.title | truncate 200 -}}
{{- else -}}
{{- $webmention.source | truncate 35 -}}
{{- end -}}
</span></a>
{{- if $webmention.author_name }}
by <span itemprop="author" itemscope itemtype="https://schema.org/Person" class="h-card p-author vcard"><span itemprop="name" class="p-name fn n">{{ $webmention.author_name }}</span></span>
{{- end -}}
{{- end }}
</li>
{{ else -}}
<li><p>This post doesn't have any approved Webmentions yet.</p></li>
{{- end }}
</ul>
<p></p>
</section>
{{ partial "full-article.html" . }}
{{ partial "webmentions.html" . }}
</main>
{{ end }}