aboutsummaryrefslogtreecommitdiff
path: root/themes/default/layouts/_default/rss.xml
blob: d6a8f469aa51a3238b5490c22f7acc2a6a9d61e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
{{- $limit := .Site.Config.Services.RSS.Limit -}}

{{- if lt $limit 1 -}}
  {{- $limit = .Paginator.TotalNumberOfElements -}}
{{- end -}}

{{- $lastBuildDate := now.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML -}}

{{- if not .Date.IsZero -}}
  {{- $lastBuildDate = .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML -}}
{{- end -}}

{{- $author := partial "function-authors-data.html" . -}}
{{- $title := partial "base-title.html" . -}}
{{- $description := partial "base-title.html" . -}}

{{- if (eq .Page.Kind "section") -}}
  {{- $title = $author.name -}}
  {{- $description = $author.description | markdownify | html | htmlUnescape -}}
{{- end -}}

{{- $profile := $author.picture.profile -}}
{{- $file := not (urls.Parse $profile).Host -}}

{{- if $file -}}
  {{- $profile = print $author.user "/" $profile -}}
{{- end -}}

{{- $image := partial "function-caches-images.html"
  (dict
    "Source"        $profile
    "Fit"           "160x160"
    "Target"        (print (partial "function-paths.html" "media") "/" $author.user "/")
    "Copy"          (print (partial "function-paths.html" "media") "/" $author.user "/" (path.Base $profile))
    "AlternateCopy" (print (partial "function-paths.html" "media") "/" $author.user "/" (path.BaseName $profile) ".webp")
  )
-}}

{{- $atomSelf := "" -}}
{{- $atomPrevious := "" -}}
{{- $atomNext := "" -}}

{{- with .OutputFormats.Get "RSS" -}}
  {{- $atomSelf = printf `<atom:link rel="self" href=%q type=%q />` .Permalink .MediaType | safeHTML -}}

  {{- with $.Paginator.Prev -}}
    {{- $atomPrevious = printf `<atom:link rel="previous" href=%q />` .URL | safeHTML -}}
  {{- end -}}

  {{- with $.Paginator.Next -}}
    {{- $atomNext = printf `<atom:link rel="next" href=%q />` .URL | safeHTML -}}
  {{- end -}}
{{- end -}}

{{- printf `<?xml version="1.0" encoding="utf-8" standalone="yes"?>` | safeHTML }}
{{ printf `<?xml-stylesheet href="/rss.xsl" type="text/xsl"?>` | safeHTML }}

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>{{ $title }}</title>
    <link>{{ .Permalink }}</link>
    <description>{{ $description }}</description>
    <language>{{ .Site.LanguageCode }}</language>
    <category>{{ partial "author-user.html" . }}</category>
    <image>
      <title>{{ $title }}</title>
      <url>{{ $image.Permalink }}</url>
      <link>{{ .Permalink }}</link>
    </image>
    <lastBuildDate>{{ $lastBuildDate }}</lastBuildDate>

    {{ $atomSelf }}
    {{ $atomPrevious }}
    {{ $atomNext }}

    {{- range first $limit .Paginator.Pages }}
      {{ if and (not .Params.Unlisted) (not .ExpiryDate) }}
      <item>
        <title>{{ .Summary | htmlUnescape }}</title>
        <link>{{ .Permalink }}</link>
        <pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
        <guid>{{ .Permalink }}</guid>
        <description>
          {{- partial "function-content.html" . | html -}}
          {{- print "<br>" | html -}}
          {{- partial "rss-tags.html" . | html -}}
        </description>
      </item>
      {{- end -}}
    {{ end }}
  </channel>
</rss>