mirror of
https://git.sr.ht/~seirdy/seirdy.one
synced 2024-12-25 18:22:09 +00:00
1aed7a66d4
The site now has polygot markup and can handle both XHTML5 and HTML5 parsing rules. My staging site will be XHTML but my main site will be HTML5, just in case of parse errors. If other tools (e.g. LightHouse) end up supporting XHTML5, I'll consider switching the content-type to XHTML.
48 lines
2.6 KiB
HTML
48 lines
2.6 KiB
HTML
{{ define "main" }}
|
||
<main itemprop="mainEntity" class="h-feed hfeed" itemscope="" itemtype="https://schema.org/DataFeed">
|
||
<h1 id="bookmarks" class="p-name" itemprop="name headline">My book­marks</h1>
|
||
{{ partial "processed-content.html" . }}
|
||
<p role="doc-tip">
|
||
Timestamp format: <code>YYYY-MM-DD HH:MM</code>, as per <cite><a href="https://www.ietf.org/rfc/rfc3339.txt">RFC 3339</a></cite>
|
||
</p>
|
||
<ul>
|
||
{{ $bookmarks := getJSON "https://seirdy.one/data/bookmarks.json" -}}
|
||
{{ range sort $bookmarks "tags" "desc" -}}
|
||
{{ $bookmark := . -}}
|
||
{{- $tags := split $bookmark.tags "," -}}
|
||
{{- $firstTag := index $tags 0 }}
|
||
{{- $timestamp := dateFormat "2006-01-02 15:04:05-0700" $firstTag }}
|
||
<li itemprop="dataFeedElement" itemscope="" itemtype="https://schema.org/DataFeedItem">
|
||
<meta itemprop="dateCreated" content="{{ $timestamp }}" /><!--Just because we can't have one timestap refer to two items-->
|
||
<article class="h-entry hentry" itemprop="item" itemscope="" itemtype="https://schema.org/SocialMediaPosting">
|
||
<meta itemprop="headline" content="{{ $bookmark.title }}" /><!--Just because we can't have one headline refer to two items-->
|
||
<h2 itemprop="sharedContent" itemscope="" itemtype="https://schema.org/WebPage" class="p-name">
|
||
<a itemprop="url" href="{{ $bookmark.uri }}" class="u-bookmark-of h-cite">
|
||
<span itemprop="headline">{{ $bookmark.title | replaceRE `Defunctionalisation` `Defunction­alisation` | safeHTML }}</span>
|
||
</a>
|
||
</h2>
|
||
<p>
|
||
Bookmarked on: <time class="dt-published published" itemprop="datePublished" datetime="{{ dateFormat "2006-01-02 15:04:05Z07:00" $timestamp }}">{{ dateFormat "2006-01-02 15:04" $timestamp }}</time>
|
||
<br />Tags: <span itemprop="keywords">
|
||
{{- $start := 2 -}}
|
||
{{- $firstTag := (index $tags 1) -}}
|
||
{{- if (eq $firstTag "public") -}}
|
||
{{- $firstTag = (index $tags 2) -}}
|
||
{{- $start = 3 -}}
|
||
{{- end -}}
|
||
{{- printf "<span class=\"p-category\">%s</span>" $firstTag | safeHTML -}}
|
||
{{- range after $start $tags -}}
|
||
{{- $tag := . -}}
|
||
{{- if (ne $tag "public") -}}
|
||
{{- printf ", <span class=\"p-category\">%s</span>" $tag | safeHTML -}}
|
||
{{ end -}}
|
||
{{- end }}
|
||
</span>
|
||
</p>
|
||
<p class="e-summary entry-summary" itemprop="description">{{ $bookmark.description | markdownify | replaceRE `\’` `’` | replaceRE `\ ` `\ ` | replaceRE `\“` `“` | replaceRE `\”` `”` | replaceRE `\…` `—` | replaceRE `\—` `—` | replaceRE `\­` `\­` | replaceRE `‘` `‘` | safeHTML }}</p>
|
||
</article>
|
||
</li>
|
||
{{- end }}
|
||
</ul>
|
||
</main>
|
||
{{ end }}
|