aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/content/en/templates/single-page-templates.md
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <[email protected]>2024-01-27 10:48:33 +0100
committerBjørn Erik Pedersen <[email protected]>2024-01-27 10:48:57 +0100
commit5fd1e7490305570872d3899f5edda950903c5213 (patch)
treef0cdc490a0942d720494c0044a64c6397d1ab6a5 /docs/content/en/templates/single-page-templates.md
parentfc7de7136acbcf0aef54ae8460c7702bc83709be (diff)
parent9b0050e9aabe4be65c78ccf292a348f309d50ccd (diff)
downloadhugo-5fd1e7490305570872d3899f5edda950903c5213.tar.gz
hugo-5fd1e7490305570872d3899f5edda950903c5213.zip
Merge commit '9b0050e9aabe4be65c78ccf292a348f309d50ccd' as 'docs'
``` git subtree add --prefix=docs/ https://github.com/gohugoio/hugoDocs.git master --squash ``` Closes #11925
Diffstat (limited to 'docs/content/en/templates/single-page-templates.md')
-rw-r--r--docs/content/en/templates/single-page-templates.md85
1 files changed, 85 insertions, 0 deletions
diff --git a/docs/content/en/templates/single-page-templates.md b/docs/content/en/templates/single-page-templates.md
new file mode 100644
index 000000000..cd8a2715c
--- /dev/null
+++ b/docs/content/en/templates/single-page-templates.md
@@ -0,0 +1,85 @@
+---
+title: Single page templates
+description: The primary view of content in Hugo is the single view. Hugo will render every Markdown file provided with a corresponding single template.
+categories: [templates]
+keywords: [page, templates]
+menu:
+ docs:
+ parent: templates
+ weight: 50
+weight: 50
+toc: true
+aliases: [/layout/content/]
+---
+
+## Single page template lookup order
+
+See [Template Lookup](/templates/lookup-order/).
+
+## Example single page templates
+
+Content pages are of the type `page` and will therefore have all the [page variables][pagevars] and [site variables] available to use in their templates.
+
+### `posts/single.html`
+
+This single page template makes use of Hugo [base templates], the [`.Format` function] for dates, the [`.WordCount` page variable][pagevars], and ranges through the single content's specific [taxonomies][pagetaxonomy]. [`with`] is also used to check whether the taxonomies are set in the front matter.
+
+{{< code file=layouts/posts/single.html >}}
+{{ define "main" }}
+ <section id="main">
+ <h1 id="title">{{ .Title }}</h1>
+ <div>
+ <article id="content">
+ {{ .Content }}
+ </article>
+ </div>
+ </section>
+ <aside id="meta">
+ <div>
+ <section>
+ <h4 id="date"> {{ .Date.Format "Mon Jan 2, 2006" }} </h4>
+ <h5 id="wordcount"> {{ .WordCount }} Words</h5>
+ </section>
+ {{ with .GetTerms "topics" }}
+ <ul id="topics">
+ {{ range . }}
+ <li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
+ {{ end }}
+ </ul>
+ {{ end }}
+ {{ with .GetTerms "tags" }}
+ <ul id="tags">
+ {{ range . }}
+ <li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
+ {{ end }}
+ </ul>
+ {{ end }}
+ </div>
+ <div>
+ {{ with .PrevInSection }}
+ <a class="previous" href="{{ .RelPermalink }}"> {{ .LinkTitle }}</a>
+ {{ end }}
+ {{ with .NextInSection }}
+ <a class="next" href="{{ .RelPermalink }}"> {{ .LinkTitle }}</a>
+ {{ end }}
+ </div>
+ </aside>
+{{ 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][archetypes].
+
+[archetypes]: /content-management/archetypes/
+[base templates]: /templates/base/
+[content type]: /content-management/types/
+[directory structure]: /getting-started/directory-structure/
+[dry]: https://en.wikipedia.org/wiki/Don%27t_repeat_yourself
+[`.format` function]: /methods/time/format/
+[front matter]: /content-management/front-matter/
+[pagetaxonomy]: /templates/taxonomy-templates/#list-terms-assigned-to-a-page
+[pagevars]: /variables/page/
+[partials]: /templates/partials/
+[section]: /content-management/sections/
+[site variables]: /variables/site/
+[spf13]: https://spf13.com/
+[`with`]: /functions/go-template/with/