mirror of
https://git.sr.ht/~seirdy/seirdy.one
synced 2024-11-23 21:02:09 +00:00
ff0c7deafa
Link targets need to be focusable to work with VoiceOver. Making <main> focusable causes some side-effects, like making the TAB key go to the beginning of <main> instead of the element after the currently-clicked region. Also removes the annoying outline around "main" in some non-mainstream browsers, without having to add extra CSS.
49 lines
2.6 KiB
HTML
49 lines
2.6 KiB
HTML
{{ define "main" -}}
|
||
<main
|
||
itemprop="mainEntity" class="h-feed hfeed" itemscope="" itemtype="https://schema.org/DataFeed">
|
||
<h1 id="h1" tabindex="-1" 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>
|
||
<ol>
|
||
{{ $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 }}
|
||
</ol>
|
||
</main>
|
||
{{ end }}
|