{{ define "main" }}
{{ .Content }}
{{/* 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") }}
{{/* Check to see if the section is defined for ranging through it */}}
{{range ($mainSections)}}
{{/* Derive the section name */}}
{{ $section_name := . }}
{{/* Create a variable with that section to use in multiple places. */}}
{{/* $section := where $.Site.RegularPages "Section" "in" $section_name */}}
{{ $section := $.Site.RegularPages }}
{{ $section_count := len $section }}
{{ if ge $section_count 1 }}
{{/* Use $section_name to get the section title. Use "with" to only show it if it exists */}}
{{/* with $.Site.GetPage "section" $section_name */}}
{{ with (dict "Title" "") }}
{{ end }}
{{ $n_posts := $.Param "recent_posts_number" | default 3 }}
{{/* Range through the first $n_posts items of the section */}}
{{ range (first $n_posts $section) }}
{{ .Render "summary-with-image" }}
{{ end }}
{{ if ge $section_count (add $n_posts 1) }}
{{ i18n "more" }}
{{/* Now, range through the next four after the initial $n_posts items. Nest the requirements, "after" then "first" on the outside */}}
{{ range (first ($.Param "other_posts_number" | default 4) (after $n_posts $section)) }}
{{ end }}
{{/* As above, Use $section_name to get the section title, and URL. Use "with" to only show it if it exists */}}
{{ end }}
{{- partial "index-footer.html" -}}