hugo/docs/content/templates/overview.md

2.1 KiB
Raw Blame History

aliases date linktitle menu next prev title weight
/doc/templates/
/layout/templates/
2013-07-01 Overview
main
parent
layout
/templates/go-templates /themes/creation Hugo Templates 10

Hugo uses the excellent go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website.

While Hugo has a number of different template roles, most complete websites can be built using just a small number of template files. Please dont be afraid of the variety of different template roles. They are enable Hugo to build very complicated sites. Most sites will only need to create a /layouts/_default/single.html & /layouts/_default/list.html

If you are new to go's templates the go template primer is a great place to start.

If you are familiar with gos templates, Hugo provides some additional template functions and variables you will want to be familiar with.

Primary Template roles

There are 3 primary kinds of templates that Hugo works with.

Single

Render a single piece of content

List

Page that list multiple pieces of content

Homepage

The homepage of your site

Supporting Template Roles (optional)

Hugo also has additional kinds of templates all of which are optional

Partial Templates

Common page parts to be included in the above mentioned templates

Content Views

Different ways of rendering a (single) content type

Taxonomy Terms

A list of the terms used for a specific taxonomy eg. a Tag cloud

Other Templates (generally unnecessary)

RSS

Used to render all rss documents

Sitemap

Used to render the XML sitemap

404

This template will create a 404.html page used when hosting on github pages