aboutsummaryrefslogtreecommitdiff
path: root/themes/ananke/layouts/index.html
blob: 0361bce45d33518e10683b1150037ea399a6ac27 (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
{{ define "main" }}
  <article class="cf ph3 ph5-l pv3 pv4-l f4 tc-l center measure-wide lh-copy mid-gray">
    {{ .Content }}
  </article>
  {{/* Define a section to pull recent posts from. For Hugo 0.20 this will default to the section with the most number of pages. */}}
  {{ $mainSections := .Site.Params.mainSections | default (slice "post") }}
  {{/* Create a variable with that section to use in multiple places. */}}
  {{ $section := where .Site.RegularPages "Section" "in" $mainSections }}
  {{/* Check to see if the section is defined for ranging through it */}}
  {{ $section_count := len $section }}
  {{ if ge $section_count 1 }}
    {{/* Derive the section name  */}}
    {{ $section_name := index (.Site.Params.mainSections) 0 }}

    <div class="pa3 pa4-ns w-100 w-70-ns center">
      {{/* Use $section_name to get the section title. Use "with" to only show it if it exists */}}
       {{ with .Site.GetPage "section" $section_name }}
          <h1 class="flex-none">
            {{ $.Param "recent_copy" | default (i18n "recentTitle" .) }}
          </h1>
        {{ end }}

      {{ $n_posts := $.Param "recent_posts_number" | default 3 }}

      <section class="w-100 mw8">
        {{/* Range through the first $n_posts items of the section */}}
        {{ range (first $n_posts $section) }}
          <div class="relative w-100 mb4">
            {{ partial "summary-with-image.html" . }}
          </div>
        {{ end }}
      </section>

      {{ if ge $section_count (add $n_posts 1) }}
      <section class="w-100">
        <h1 class="f3">{{ i18n "more" }}</h1>
        {{/* Now, range through the next four after the initial $n_posts items. Nest the requirements, "after" then "first" on the outside */}}
        {{ range (first 4 (after $n_posts $section))  }}
          <h2 class="f5 fw4 mb4 dib mr3">
            <a href="{{ .URL }}" class="link black dim">
              {{ .Title }}
            </a>
          </h2>
        {{ end }}

        {{/* As above, Use $section_name to get the section title, and URL. Use "with" to only show it if it exists */}}
        {{ with .Site.GetPage "section" $section_name }}
          <a href="{{ .URL }}" class="link db f6 pa2 br3 bg-mid-gray white dim w4 tc">{{ i18n "allTitle" . }}</a>
        {{ end }}
        </section>
      {{ end }}

      </div>
  {{ end }}
{{ end }}