Merge commit '7a89dce53bfbd67a17442a8f9be8fa895fc4f9b1'
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sat, 23 Sep 2017 08:08:55 +0000 (10:08 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sat, 23 Sep 2017 08:08:55 +0000 (10:08 +0200)
1  2 
docs/content/templates/homepage.md

index 657432dbd06bfbcad35dce7e25c09e0303c444e3,0000000000000000000000000000000000000000..6c290763a9195a85a9df6b53866f8b1304bb654d
mode 100644,000000..100644
--- /dev/null
@@@ -1,81 -1,0 +1,81 @@@
- The following is an example of a homepage template that uses [partial][partials], [base][] templates, and a content file at `content/_index.md` to populate the `{{.Title}}` and `{{Content}}` [page variables][pagevars].
 +---
 +title: Homepage Template
 +linktitle: Homepage Template
 +description: The homepage of a website is often formatted differently than the other pages. For this reason, Hugo makes it easy for you to define your new site's homepage as a unique template.
 +date: 2017-02-01
 +publishdate: 2017-02-01
 +lastmod: 2017-02-01
 +categories: [templates]
 +keywords: [homepage]
 +menu:
 +  docs:
 +    parent: "templates"
 +    weight: 30
 +weight: 30
 +sections_weight: 30
 +draft: false
 +aliases: [/layout/homepage/,/templates/homepage-template/]
 +toc: true
 +---
 +
 +Homepage is a `Page` and therefore has all the [page variables][pagevars] and [site variables][sitevars] available for use.
 +
 +{{% note "The Only Required Template" %}}
 +The homepage template is the *only* required template for building a site and therefore useful when bootstrapping a new site and template. It is also the only required template if you are developing a single-page website.
 +{{% /note %}}
 +
 +{{< youtube ut1xtRZ1QOA >}}
 +
 +## Homepage Template Lookup Order
 +
 +The [lookup order][lookup] for the homepage template is as follows:
 +
 +1. `/layouts/index.html`
 +2. `/layouts/_default/list.html`
 +3. `/themes/<THEME>/layouts/index.html`
 +4. `/themes/<THEME>/layouts/_default/list.html`
 +
 +## Add Content and Front Matter to the Homepage
 +
 +The homepage, similar to other [list pages in Hugo][lists], accepts content and front matter from an `_index.md` file. This file should live at the root of your `content` folder (i.e., `content/_index.md`). You can then add body copy and metadata to your homepage the way you would any other content file.
 +
 +See the homepage template below or [Content Organization][contentorg] for more information on the role of `_index.md` in adding content and front matter to list pages.
 +
 +## `.Data.Pages` on the Homepage
 +
 +In addition to the standard [page variables][pagevars], the homepage template has access to *all* site content via `.Data.Pages`.
 +
 +## Example Homepage Template
 +
++The following is an example of a homepage template that uses [partial][partials], [base][] templates, and a content file at `content/_index.md` to populate the `{{.Title}}` and `{{.Content}}` [page variables][pagevars].
 +
 +{{< code file="layouts/index.html" download="index.html" >}}
 +{{ define "main" }}
 +    <main aria-role="main">
 +      <header class="homepage-header">
 +        <h1>{{.Title}}</h1>
 +        {{ with .Params.subtitle }}
 +        <span class="subtitle">{{.}}</span>
 +        {{ end }}
 +      </header>
 +      <div class="homepage-content">
 +        <!-- Note that the content for index.html, as a sort of list page, will pull from content/_index.md -->
 +        {{.Content}}
 +      </div>
 +      <div>
 +        <!-- Note that .Data.Pages is the equivalent of .Site.Pages on the homepage template. -->
 +        {{ range first 10 .Data.Pages }}
 +            {{ .Render "summary"}}
 +        {{ end }}
 +      </div>
 +    </main>
 +{{ end }}
 +{{< /code >}}
 +
 +[base]: /templates/base/
 +[contentorg]: /content-management/organization/
 +[lists]: /templates/lists/
 +[lookup]: /templates/lookup-order/
 +[pagevars]: /variables/page/
 +[partials]: /templates/partials/
 +[sitevars]: /variables/site/