mirror of
https://git.sr.ht/~seirdy/seirdy.one
synced 2024-11-23 21:02: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:
parent
8597e50a59
commit
cffa22e79e
7 changed files with 76 additions and 86 deletions
|
@ -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#">
|
<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" . -}}
|
{{ partial "head.html" . -}}
|
||||||
<body itemscope itemtype="https://schema.org/Blog https://schema.org/WebPage">
|
<body itemscope itemtype="https://schema.org/Blog https://schema.org/WebPage">
|
||||||
{{ partial "header.html" . -}}
|
{{ partialCached "header.html" . .Section -}}
|
||||||
{{- block "main" . }}{{- end -}}
|
{{- block "main" . }}{{- end -}}
|
||||||
{{ partial "footer.html" . }}
|
{{ partialCached "footer.html" . }}
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -1,23 +1,5 @@
|
||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
<main itemprop="blogPost mainEntity" itemscope itemtype="https://schema.org/BlogPosting">
|
<main itemprop="mainEntity" itemscope itemtype="https://schema.org/Article">
|
||||||
<article class="h-entry hentry">
|
{{ partial "full-article.html" . }}
|
||||||
<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>
|
</main>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
10
layouts/partials/full-article.html
Normal file
10
layouts/partials/full-article.html
Normal 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>
|
11
layouts/partials/post-meta.html
Normal file
11
layouts/partials/post-meta.html
Normal 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 }}
|
44
layouts/partials/webmentions.html
Normal file
44
layouts/partials/webmentions.html
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
<section aria-labelledby="webmentions">
|
||||||
|
<h2 id="webmentions">Webmen­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>
|
5
layouts/partials/wordcount.html
Normal file
5
layouts/partials/wordcount.html
Normal 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 -}}
|
|
@ -1,69 +1,7 @@
|
||||||
{{- define "main" -}}
|
{{- define "main" -}}
|
||||||
{{- .Scratch.Set "codeIndex" 1 -}}
|
{{- .Scratch.Set "codeIndex" 1 -}}
|
||||||
<main itemprop="blogPost mainEntity" itemscope itemtype="https://schema.org/BlogPosting">
|
<main itemprop="blogPost mainEntity" itemscope itemtype="https://schema.org/BlogPosting">
|
||||||
<article class="h-entry hentry">
|
{{ partial "full-article.html" . }}
|
||||||
<header>
|
{{ partial "webmentions.html" . }}
|
||||||
<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­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>
|
|
||||||
</main>
|
</main>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
Loading…
Reference in a new issue