Lego2012
6/12/2017 - 7:58 PM

index.html Example Layout

index.html Example Layout

{{ define "main" }}
    <article>
        Hier kommt der Inhalt aus der `_index.md` im Content-Verzeichnis
        {{ .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 }}

            <section>
                {{/* Range through the first three items of the section */}}
                {{ range (first 3 $section) }}
                    <div>
                        {{ partial "summary-with-image" . }}
                    </div>
                {{ end }}
            </section>

            {{ if ge $section_count 4 }}
                <section>
                    <h1>More</h1>
                    {{/* Now, range through the next four after the initial 3 items. Nest the requirements, "after" then "first" on the outside */}}
                    {{ range (first 4 (after 3 $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 }}