diff options
Diffstat (limited to 'layouts/index.html')
-rwxr-xr-x | layouts/index.html | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/layouts/index.html b/layouts/index.html new file mode 100755 index 0000000..25ade93 --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,57 @@ +{{ define "main" }} +<article> + {{ .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> + {{/* Use $section_name to get the section title. Use "with" to only show it if it exists */}} + {{ with .Site.GetPage "section" $section_name }} + <h1> + Recent {{ .Title }} + </h1> + {{ end }} + + {{ $n_posts := $.Param "recent_posts_number" | default 3 }} + + <section> + {{/* Range through the first $n_posts items of the section */}} + {{ range (first $n_posts $section) }} + <div> + {{ partial "summary.html" . }} + </div> + {{ end }} + </section> + + {{ if ge $section_count (add $n_posts 1) }} + <section> + <h1>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> + <a href="{{ .URL }}"> + {{ .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 }}">All {{.Title }}</a> + {{ end }} + </section> + {{ end }} + +</div> +{{ end }} +{{ end }}
\ No newline at end of file |