aboutsummaryrefslogtreecommitdiff
path: root/themes/default/layouts/partials/web-ring.html
blob: cca6027c6dbd20edee6e08870983c642dbf05cb0 (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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
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>
      <aside>
        {{ 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 }}
    </aside>
  </web-ring>

{{ end -}}