hugo/content/templates/single-page-templates.md
Bjørn Erik Pedersen ba45da9d03 Squashed 'docs/' changes from 44fe0285..32356e4e
32356e4e Fix typo in header of shortcode-templates.md
c8f1a2d2 Correct code example for index template function
bfa6a55d Escape code fencing
ff8b2f99 Fix typos in deployment with wercker tutorial
557c36e8 theme: Merge commit '7fbb4bed25001182bfeb91f79db0f0c1936582ee'
7fbb4bed Squashed 'themes/gohugoioTheme/' changes from 7dd8a302..ca53082d
ce31cee0 Add "See Also" config
158cee1b Make the tags into keywords
61600be6 Add a note to the related section
49edb5a2 Relase 0.27.1
c9bbc001 releaser: Add release notes to /docs for release of 0.27.1
213c6c3b Add bugs poster
8b4590cd Add KeyCDN integration tutorial
2b277859 Add tutorial videos to several docs pages
950fef1f Update roadmap to link to the correct milestones page
496f5bf6 Rename relnotes
d6f9378d Bump Netlify versions to 0.27
087fde7f Update 0.27 release notes
603f94ae docs: Document Related Content
3790f6a3 releaser: Bump versions for release of 0.27
0948868c releaser: Add release notes to /docs for release of 0.27

git-subtree-dir: docs
git-subtree-split: 32356e4eabe357ae914f4d1d59e8ae31ce936723
2017-09-21 19:03:00 +02:00

3.8 KiB

title linktitle description date publishdate lastmod categories keywords menu weight sections_weight draft aliases toc
Single Page Templates The primary view of content in Hugo is the single view. Hugo will render every Markdown file provided with a corresponding single template. 2017-02-01 2017-02-01 2017-04-06
templates
page
docs
parent weight
templates 60
60 60 false
/layout/content/
true

Single Page Template Lookup Order

You can specify a content's type and layout in a single content file's front matter. However, you cannot specify section because this is determined based on file location (see content section).

Hugo assumes your content section and content type are the same unless you tell Hugo otherwise by providing a type directly in the front matter of a content file. This is why #1 and #3 come before #2 and #4, respectively, in the following lookup order. Values in angle brackets (<>) are variable.

  1. /layouts/<TYPE>/<LAYOUT>.html
  2. /layouts/<SECTION>/<LAYOUT>.html
  3. /layouts/<TYPE>/single.html
  4. /layouts/<SECTION>/single.html
  5. /layouts/_default/single.html
  6. /themes/<THEME>/layouts/<TYPE>/<LAYOUT>.html
  7. /themes/<THEME>/layouts/<SECTION>/<LAYOUT>.html
  8. /themes/<THEME>/layouts/<TYPE>/single.html
  9. /themes/<THEME>/layouts/<SECTION>/single.html
  10. /themes/<THEME>/layouts/_default/single.html

{{< youtube ZYQ5k0RQzmo >}}

Example Single Page Templates

Content pages are of the type page and will therefore have all the page variables and site variables available to use in their templates.

post/single.html

This single page template makes use of Hugo base templates, the .Format function for dates, the .WordCount page variable, and ranges through the single content's specific taxonomies. with is also used to check whether the taxonomies are set in the front matter.

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

{{ .Title }}

{{ .Content }}
{{ end }} {{< /code >}}

To easily generate new instances of a content type (e.g., new .md files in a section like project/) with preconfigured front matter, use content archetypes.