From: Bjørn Erik Pedersen Date: Sat, 23 Sep 2017 08:08:55 +0000 (+0200) Subject: Merge commit '7a89dce53bfbd67a17442a8f9be8fa895fc4f9b1' X-Git-Tag: v0.28~15 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=f8fd5796b;p=brevno-suite%2Fhugo Merge commit '7a89dce53bfbd67a17442a8f9be8fa895fc4f9b1' --- f8fd5796bb266352e61d897430c7659ce5d6565c diff --cc docs/content/templates/homepage.md index 657432db,00000000..6c290763 mode 100644,000000..100644 --- a/docs/content/templates/homepage.md +++ b/docs/content/templates/homepage.md @@@ -1,81 -1,0 +1,81 @@@ +--- +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//layouts/index.html` +4. `/themes//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]. ++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" }} +
+
+

{{.Title}}

+ {{ with .Params.subtitle }} + {{.}} + {{ end }} +
+
+ + {{.Content}} +
+
+ + {{ range first 10 .Data.Pages }} + {{ .Render "summary"}} + {{ end }} +
+
+{{ 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/