aboutsummaryrefslogtreecommitdiff
path: root/themes/default/layouts/partials/generate-feeds.html
diff options
context:
space:
mode:
Diffstat (limited to 'themes/default/layouts/partials/generate-feeds.html')
-rw-r--r--themes/default/layouts/partials/generate-feeds.html278
1 files changed, 0 insertions, 278 deletions
diff --git a/themes/default/layouts/partials/generate-feeds.html b/themes/default/layouts/partials/generate-feeds.html
deleted file mode 100644
index d94e39a..0000000
--- a/themes/default/layouts/partials/generate-feeds.html
+++ /dev/null
@@ -1,278 +0,0 @@
-{{- $author := index .Site.Data ((or .Params.author .Site.Author.default.user) | default "default") -}}
-
-{{- $feeds := slice -}}
-
-{{- if $author.webring.rss -}}
- {{- range $key, $value := (seq 3) -}}
- {{- range $author.webring.rss -}}
-
- {{- with resources.GetRemote . -}}
- {{- with .Err -}}
- {{- warnf "Feed fetch %s" . -}}
- {{- end -}}
- {{- end -}}
-
- {{- with resources.GetRemote . | transform.Unmarshal -}}
-
- {{- $title := "No Title Found" -}}
- {{- $link := "https://example.com/link" -}}
- {{- $description := "No description found." -}}
- {{- $content := "No content found." -}}
- {{- $sourceTitle := "No source title found" -}}
- {{- $sourceLink := "https://example.com/" -}}
- {{- $sourceDescription := "No source description found." -}}
- {{- $date := now.Format "2006-01-02T15:04:05Z" -}}
- {{- $enclosure := "" -}}
-
- {{- with .channel -}}
-
- {{- $sourceTitle = .title -}}
- {{- $sourceDescription = .description -}}
-
- {{- if reflect.IsSlice .link -}}
- {{- if reflect.IsMap (index .link 0) -}}
- {{- $sourceLink = index (index .link 0) "-href" -}}
- {{- else -}}
- {{- $sourceLink = index .link 0 -}}
- {{- end -}}
- {{- else -}}
- {{- $sourceLink = .link -}}
- {{- end -}}
-
- {{- with .item -}}
- {{- if reflect.IsMap . -}}
- {{- $title = index . "title" -}}
- {{- $link = index . "link" -}}
- {{- $date = index . "pubDate" -}}
- {{- else -}}
- {{- range first $value . -}}
- {{- $description = .description -}}
- {{- $content = .description -}}
- {{- $title = .title -}}
- {{- $link = .link -}}
- {{- $date = .pubDate -}}
- {{- with .enclosure -}}
- {{- $enclosure = index . "-url" -}}
- {{- end -}}
- {{- end -}}
- {{- end -}}
- {{- end -}}
-
- {{- if not $date -}}
- {{- $date = .lastBuildDate -}}
- {{- end -}}
-
- {{- else -}}
-
- {{- with .link -}}
- {{- $sourceLink = index (index . 0) "-href" -}}
- {{- end -}}
-
- {{- with .subtitle -}}
- {{- if reflect.IsMap . -}}
- {{- $sourceDescription = index . "#text" -}}
- {{- else -}}
- {{- $sourceDescription = . -}}
- {{- end -}}
- {{- end -}}
-
- {{- with .title -}}
- {{- if reflect.IsMap . -}}
- {{- $sourceTitle = index . "#text" -}}
- {{- else -}}
- {{- $sourceTitle = . -}}
- {{- end -}}
- {{- end -}}
-
- {{- with .entry -}}
- {{- range first $value . -}}
- {{- $date = .updated -}}
-
- {{- with .link -}}
- {{- if reflect.IsMap . -}}
- {{- $link = index . "-href" -}}
- {{- else -}}
- {{- if reflect.IsMap (index . 0) -}}
- {{- $link = index (index . 0) "-href" -}}
- {{- else -}}
- {{- $link = . -}}
- {{- end -}}
- {{- end -}}
- {{- end -}}
-
- {{- with .title -}}
- {{- if reflect.IsMap . -}}
- {{- $title = index . "#text" -}}
- {{- else -}}
- {{- $title = . -}}
- {{- end -}}
- {{- end -}}
-
- {{- with .content -}}
- {{- $content = index . "#text" -}}
- {{- end -}}
-
- {{- with .summary -}}
- {{- $description = index . "#text" -}}
- {{- end -}}
-
- {{- with .group -}}
- {{- $description = .description -}}
- {{- $content = index .content "#text" -}}
- {{- $enclosure = index .thumbnail "-url" -}}
- {{- end -}}
- {{- end -}}
- {{- end -}}
-
- {{- end -}}
-
- {{- /* Common time zone typos. */ -}}
- {{- $date = strings.Replace $date "G6T" "GST" -}}
-
- {{- /* If missing seconds split and try again. */ -}}
- {{- if lt (len (split $date ":")) 3 -}}
- {{- $date = delimit (first 3 (after 1 (split $date " "))) " " -}}
- {{- end -}}
-
- {{
- $feeds = $feeds | append (dict
- "FeedContent" ($content | plainify | htmlUnescape)
- "FeedContentShort" (delimit (first 2 (split ($content | plainify | htmlUnescape) "\n")) " " | truncate 250)
- "FeedDate" ($date | plainify | htmlUnescape | time.Format "January 2, 2006")
- "FeedDateTime" ($date | plainify | htmlUnescape | time.Format "2006-01-02T15:04:05Z")
- "FeedDateTitle" ($date | plainify | htmlUnescape | time.Format "Monday, January 2 2006 at 15:04:05 MST")
- "FeedDescription" ($description | plainify | htmlUnescape)
- "FeedDescriptionShort" (delimit (first 2 (split ($description | plainify | htmlUnescape) "\n")) " " | truncate 250)
- "FeedEnclosure" ($enclosure | plainify | htmlUnescape)
- "FeedLink" ($link | plainify | htmlUnescape)
- "FeedName" (delimit ((delimit (first 2 (split ($sourceTitle | plainify | htmlUnescape) " ")) " ") | findRE "^([^.|?|!|\n|\"|]+)") " " | replaceRE "[^a-zA-Z ]" "")
- "FeedSourceDescription" ($sourceDescription | plainify | htmlUnescape)
- "FeedSourceDomain" (($sourceLink | plainify | htmlUnescape | urls.Parse).Host)
- "FeedSourceLink" ($sourceLink | plainify | htmlUnescape)
- "FeedSourceTitle" ($sourceTitle | plainify | htmlUnescape)
- "FeedTitle" ($title | plainify | htmlUnescape)
- )
- -}}
-
- {{- end -}}
- {{- end -}}
- {{- end -}}
-
- {{- range $feeds -}}
-
- {{- $imageCanonicalURL :=
- (print
- "https://t1.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url="
- "http://"
- .FeedSourceDomain
- "&size=64"
- )
- -}}
-
- {{- $404image := resources.Get "data/media/404.png" -}}
- {{- $imageSource := $404image.RelPermalink -}}
- {{- $imageTitle := "No image found" -}}
-
- {{- with $image := resources.GetRemote $imageCanonicalURL -}}
- {{- with .Err -}}
- {{- warnf "%s" . -}}
- {{- else -}}
- {{- $imageContent := $image.Content | resources.FromString (print (partial "function-paths-media.html") "/" ($image | urlize)) -}}
- {{- $imageSource = $imageContent.RelPermalink -}}
- {{- $imageTitle = $imageCanonicalURL -}}
- {{- end -}}
- {{- end -}}
-
- {{- $template := resources.Get "templates/markdown-feed.yaml" -}}
- {{- $name := print (delimit (first 8 (split (.FeedTitle | urlize) "-")) "-" | humanize | urlize) "-" (.FeedLink | sha256 | truncate 8 "") | humanize | urlize -}}
- {{- $path := print "/data/generates/content/" $author.user "/feeds/" $name ".md" -}}
-
- {{- $description := .FeedDescriptionShort -}}
- {{- if gt (len .FeedTitle) (len .FeedDescriptionShort) -}}
- {{- $description = .FeedTitle -}}
- {{- end -}}
-
- {{- $content := .FeedContentShort -}}
- {{- if or (eq $content "No content found.") (gt (len .FeedTitle) (len $content)) -}}
- {{- $content = .FeedTitle -}}
- {{- end -}}
-
- {{- $link := .FeedLink -}}
- {{- $enclosure := .FeedEnclosure -}}
- {{- if or
- (in .FeedLink ".apng")
- (in .FeedLink ".avif")
- (in .FeedLink ".gif")
- (in .FeedLink ".jfif")
- (in .FeedLink ".jpeg")
- (in .FeedLink ".jpg")
- (in .FeedLink ".pjp")
- (in .FeedLink ".pjpeg")
- (in .FeedLink ".png")
- (in .FeedLink ".svg")
- (in .FeedLink ".webp")
- -}}
- {{- if (.Feedlink | urls.Parse).Host -}}
- {{- else -}}
- {{- $enclosure = print "http://" .FeedSourceDomain .FeedLink -}}
- {{- $link = $enclosure -}}
- {{- end -}}
- {{- end -}}
-
- {{- $markdown := resources.ExecuteAsTemplate
- $path
- (dict
- "author" $author.user
- "content" $content
- "date" .FeedDateTime
- "description" .FeedSourceTitle
- "domain" .FeedSourceDomain
- "enclosure" $enclosure
- "image" $imageSource
- "link" $link
- "name" .FeedName
- "raw" (strings.TrimLeft "/" $path)
- "self" (print $author.user "/feeds/" $name "/")
- "tags" "[rss]"
- )
- $template
- -}}
- {{- $writeToFile := $markdown.RelPermalink -}}
- {{ end }}
-
- <web-ring>
- <h1>Web Ring</h1>
- <aside>
- {{ range first 3 (uniq (sort $feeds "FeedDateTime" "desc")) }}
- <web-ring-item>
- <header>
- <a
- title="{{ .FeedLink }}"
- href="{{ .FeedLink }}">
- {{ .FeedTitle }}
- </a>
- </header>
-
- <p>
- <time
- title="{{ .FeedDateTitle }}"
- datetime="{{ .FeedDateTime }}">
- {{ .FeedDate }}
- </time>
- {{ if gt (len .FeedDescriptionShort) (len .FeedContentShort) -}}
- {{ "--" | markdownify }} {{ .FeedDescriptionShort }}
- {{- else -}}
- {{ "--" | markdownify }} {{ .FeedContentShort }}
- {{- end }}
- </p>
-
- <a
- title="{{ .FeedSourceDescription }}"
- href="{{ .FeedSourceLink }}">
- {{ .FeedSourceTitle }}
- </a>
- </web-ring-item>
- {{ end }}
- </aside>
- </web-ring>
-{{- end -}}