hugo/content/en/templates/homepage.md
Bjørn Erik Pedersen 4b670bc8cc Squashed 'docs/' changes from 16753a78d..341ecabb2
341ecabb2 Update lookup-order.md
bfabd8ce8 Update homepage.md
7a1e0b742 Update shortcodes.md
e8bf22497 HTTPS links to Vimeo embeds
a9d0e7c68 Revise the wildly inaccurate types doc
af33bb724 netlify: Bump version
f4251583e Merge branch 'temp641'
4dcda861d releaser: Add release notes to /docs for release of 0.64.1
92bd0b1f5 Update errorf.md

git-subtree-dir: docs
git-subtree-split: 341ecabb29abb9a9626d52309ce0650311607b81
2020-02-19 09:16:56 +01:00

2.6 KiB

title linktitle description date publishdate lastmod categories keywords menu weight sections_weight draft aliases toc
Homepage Template Homepage Template 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. 2017-02-01 2017-02-01 2017-02-01
templates
homepage
docs
parent weight
templates 30
30 30 false
/layout/homepage/
/templates/homepage-template/
true

Homepage is a Page and therefore has all the page variables and site variables 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

See Template Lookup.

Add Content and Front Matter to the Homepage

The homepage, similar to other list pages in Hugo, 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 for more information on the role of _index.md in adding content and front matter to list pages.

Example Homepage Template

The following is an example of a homepage template that uses partial, base templates, and a content file at content/_index.md to populate the {{.Title}} and {{.Content}} page variables.

{{< code file="layouts/index.html" download="index.html" >}} {{ define "main" }}

{{.Title}}

{{ with .Params.subtitle }} {{.}} {{ end }}
{{.Content}}
{{ range first 10 .Site.RegularPages }} {{ .Render "summary"}} {{ end }}
{{ end }} {{< /code >}}