aboutsummaryrefslogtreecommitdiff
path: root/themes/default/layouts/_default/rss.xml
blob: beda119a12f8ca760b30cd3842d022e4edaabf41 (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
{{- $pageContext := . -}}

{{- if .IsHome -}}
  {{- $pageContext = .Site -}}
{{- end -}}

{{- $pages := $pageContext.RegularPages -}}
{{- $limit := .Site.Config.Services.RSS.Limit -}}

{{- if ge $limit 1 -}}
  {{- $pages = $pages | first $limit -}}
{{- 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 -}}

{{- $atomLink := "" -}}

{{- with .OutputFormats.Get "RSS" -}}
  {{- $atomLink = printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | 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")
  )
-}}

{{- print "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
{{ print "<?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>
    {{ $atomLink }}
    {{- range $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" .Content | html -}}
          {{- print "<br>" | html -}}
          {{- partial "rss-tags.html" . | html -}}
        </description>
      </item>
      {{- end -}}
    {{ end }}
  </channel>
</rss>