aboutsummaryrefslogtreecommitdiff
path: root/themes/default/layouts/partials/web-ring.html
diff options
context:
space:
mode:
Diffstat (limited to 'themes/default/layouts/partials/web-ring.html')
-rw-r--r--themes/default/layouts/partials/web-ring.html138
1 files changed, 138 insertions, 0 deletions
diff --git a/themes/default/layouts/partials/web-ring.html b/themes/default/layouts/partials/web-ring.html
new file mode 100644
index 0000000..4ddfa14
--- /dev/null
+++ b/themes/default/layouts/partials/web-ring.html
@@ -0,0 +1,138 @@
+{{- $author := index .Site.Data.authors ((or .Params.author .Site.Author.default.user) | default "default") -}}
+
+{{- if $author.webring.rss -}}
+
+ {{ $feeds := slice }}
+
+ {{ range first 5 $author.webring.rss -}}
+
+ {{ with resources.GetRemote . }}
+ {{- with .Err -}}
+ {{- warnf "%s" . -}}
+ {{- end -}}
+ {{ end }}
+
+ {{ with resources.GetRemote . | transform.Unmarshal -}}
+
+ {{- $title := "Example Domain" -}}
+ {{- $link := "https://example.com/link" -}}
+ {{- $description := "This domain is for use in illustrative examples in documents." -}}
+ {{- $content := "This content is for use in illustrative examples in documents." -}}
+ {{- $sourceTitle := "From Example Domain" -}}
+ {{- $sourceLink := "https://example.com/" -}}
+ {{- $sourceDescription := "The example domain." -}}
+ {{- $date := now.Format "January 2, 2006" -}}
+ {{- $dateTime := now.Format "2006-01-02T15:04:05Z" -}}
+ {{- $dateTitle := now.Format "Monday, January 2 2006 at 15:04:05 MST" -}}
+
+ {{ with .channel -}}
+
+ {{ if reflect.IsMap (index .link 0) -}}
+ {{ $sourceLink = index (index .link 0) "-href" | plainify | htmlUnescape -}}
+ {{ else -}}
+ {{ $sourceLink = index .link 0 | plainify | htmlUnescape -}}
+ {{ end -}}
+
+ {{ $sourceDescription = .description | plainify | htmlUnescape -}}
+
+ {{ $sourceTitle = .title | plainify | htmlUnescape -}}
+
+ {{ range first 1 .item -}}
+ {{ $description = .description | plainify | htmlUnescape | truncate 50 "..." -}}
+ {{ $content = .description | plainify | htmlUnescape -}}
+ {{ $title = .title | plainify | htmlUnescape -}}
+ {{ $link = .link | plainify | htmlUnescape -}}
+ {{ $date = .pubDate | plainify | htmlUnescape | time.Format "January 2, 2006" -}}
+ {{ $dateTime = .pubDate | plainify | htmlUnescape | time.Format "2006-01-02T15:04:05Z" -}}
+ {{ $dateTitle = .pubDate | plainify | htmlUnescape | time.Format "Monday, January 2 2006 at 15:04:05 MST" -}}
+ {{ end -}}
+
+ {{ else -}}
+
+ {{ $sourceLink = index (index .link 0) "-href" | plainify | htmlUnescape -}}
+ {{ $sourceTitle = .title | plainify | htmlUnescape -}}
+ {{ $sourceDescription = .subtitle | plainify | htmlUnescape -}}
+
+ {{ range first 1 .entry -}}
+
+ {{ if reflect.IsMap .title -}}
+ {{ $title = index .title "#text" | plainify | htmlUnescape -}}
+ {{ else -}}
+ {{ $title = .title | plainify | htmlUnescape -}}
+ {{ end -}}
+
+ {{ $date = .updated | plainify | htmlUnescape | time.Format "January 2, 2006" -}}
+ {{ $dateTime = .updated | plainify | htmlUnescape | time.Format "2006-01-02T15:04:05Z" -}}
+ {{ $dateTitle = .updated | plainify | htmlUnescape | time.Format "Monday, January 2 2006 at 15:04:05 MST" -}}
+
+ {{ $link = .id -}}
+ {{ with .content -}}
+ {{ $description = (index . "#text") | plainify | htmlUnescape | truncate 50 "..." -}}
+ {{ $content = (index . "#text") | plainify | htmlUnescape -}}
+ {{ end -}}
+ {{ with .summary -}}
+ {{ $description = (index . "#text") | plainify | htmlUnescape | truncate 50 "..." -}}
+ {{ $content = (index . "#text") | plainify | htmlUnescape -}}
+ {{ end -}}
+ {{ end -}}
+
+ {{ end -}}
+
+ {{
+ $feeds = $feeds | append (dict
+ "FeedTitle" $title
+ "FeedLink" $link
+ "FeedDescription" $description
+ "FeedContent" $content
+ "FeedSourceTitle" $sourceTitle
+ "FeedSourceLink" $sourceLink
+ "FeedSourceDescription" $sourceDescription
+ "FeedDate" $date
+ "FeedDateTime" $dateTime
+ "FeedDateTitle" $dateTitle
+ )
+ }}
+
+ {{ end }}
+ {{ end }}
+
+ <web-ring>
+ <h1>Web Ring</h1>
+ <section>
+ {{ range sort $feeds "FeedDateTime" "desc" }}
+ <web-ring-item>
+ <header>
+ <a
+ rel="noopener"
+ target="_blank"
+ title="{{ .FeedLink }}"
+ href="{{ .FeedLink }}">
+ {{ .FeedTitle }}
+ </a>
+ </header>
+
+ <p>
+ <time
+ title="{{ .FeedDateTitle }}"
+ datetime="{{ .FeedDateTime }}">
+ {{ .FeedDate }}
+ </time>
+ {{- with .FeedDescription -}}
+ {{ "--" | markdownify }}
+ {{ . }}
+ {{- end }}
+ </p>
+
+ <a
+ rel="noopener"
+ target="_blank"
+ title="{{ .FeedSourceDescription }}"
+ href="{{ .FeedSourceLink }}">
+ {{ .FeedSourceTitle }}
+ </a>
+ </web-ring-item>
+ {{ end }}
+ </section>
+ </web-ring>
+
+{{ end -}}