diff options
| author | etienne <admin@MacBook-Pro-de-Admin.local> | 2014-10-21 23:35:24 +0200 |
|---|---|---|
| committer | etienne <admin@MacBook-Pro-de-Admin.local> | 2014-10-21 23:35:24 +0200 |
| commit | 667e11c4ec3835d959aab1797647bd0a49869674 (patch) | |
| tree | 84c6c5f20686574009f1dccc0f27a7192ff165e7 /content/templates/content.md | |
Init commit
Diffstat (limited to 'content/templates/content.md')
| -rw-r--r-- | content/templates/content.md | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/content/templates/content.md b/content/templates/content.md new file mode 100644 index 0000000..14d613c --- /dev/null +++ b/content/templates/content.md @@ -0,0 +1,161 @@ +--- +aliases: +- /layout/functions/ +date: 2013-07-01 +linktitle: Single Content +menu: + main: + parent: layout +next: /templates/list +prev: /templates/variables +title: Single Content Template +weight: 30 +--- + +The primary view of content in Hugo is the single view. Hugo, for every +Markdown file provided, will render it with a single template. + + +## Which Template will be rendered? +Hugo uses a set of rules to figure out which template to use when +rendering a specific page. + +Hugo will use the following prioritized list. If a file isn’t present, +then the next one in the list will be used. This enables you to craft +specific layouts when you want to without creating more templates +than necessary. For most sites only the \_default file at the end of +the list will be needed. + +Users can specify the `type` and `layout` in the [front-matter](/content/front-matter). `Section` +is determined based on the content file’s location. If `type` is provide, +it will be used instead of `section`. + +### Single + +* /layouts/`TYPE`-or-`SECTION`/`LAYOUT`.html +* /layouts/`TYPE`-or-`SECTION`/single.html +* /layouts/\_default/single.html +* /themes/`THEME`/layouts/`TYPE`-or-`SECTION`/`LAYOUT`.html +* /themes/`THEME`/layouts/`TYPE`-or-`SECTION`/single.html +* /themes/`THEME`/layouts/\_default/single.html + +## Example Single Template File + +Content pages are of the type "page" and have all the [page +variables](/layout/variables/) and [site +variables](/templates/variables/) available to use in the templates. + +In the following examples we have created two different content types as well as +a default content type. + +The default content template to be used in the event that a specific +template has not been provided for that type. The default type works the +same as the other types, but the directory must be called "\_default". + + ▾ layouts/ + ▾ _default/ + single.html + ▾ post/ + single.html + ▾ project/ + single.html + + +## post/single.html +This content template is used for [spf13.com](http://spf13.com). +It makes use of [partial templates](/layout/partials) + + {{ partial "header.html" . }} + {{ partial "subheader.html" . }} + {{ $baseurl := .Site.BaseUrl }} + + <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="wc"> {{ .FuzzyWordCount }} Words </h5> + </section> + <ul id="categories"> + {{ range .Params.topics }} + <li><a href="{{ $baseurl }}/topics/{{ . | urlize }}">{{ . }}</a> </li> + {{ end }} + </ul> + <ul id="tags"> + {{ range .Params.tags }} + <li> <a href="{{ $baseurl }}/tags/{{ . | urlize }}">{{ . }}</a> </li> + {{ end }} + </ul> + </div> + <div> + {{ if .Prev }} + <a class="previous" href="{{.Prev.Permalink}}"> {{.Prev.Title}}</a> + {{ end }} + {{ if .Next }} + <a class="next" href="{{.Next.Permalink}}"> {{.Next.Title}}</a> + {{ end }} + </div> + </aside> + + {{ partial "disqus.html" . }} + {{ partial "footer.html" . }} + + +## project/single.html +This content template is used for [spf13.com](http://spf13.com). +It makes use of [partial templates](/layout/partials) + + + {{ partial "header.html" . }} + {{ partial "subheader.html" . }} + {{ $baseurl := .Site.BaseUrl }} + + <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="wc"> {{ .FuzzyWordCount }} Words </h5> + </section> + <ul id="categories"> + {{ range .Params.topics }} + <li><a href="{{ $baseurl }}/topics/{{ . | urlize }}">{{ . }}</a> </li> + {{ end }} + </ul> + <ul id="tags"> + {{ range .Params.tags }} + <li> <a href="{{ $baseurl }}/tags/{{ . | urlize }}">{{ . }}</a> </li> + {{ end }} + </ul> + </div> + </aside> + + {{if isset .Params "project_url" }} + <div id="ribbon"> + <a href="{{ index .Params "project_url" }}" rel="me">Fork me on GitHub</a> + </div> + {{ end }} + + {{ partial "footer.html" }} + +Notice how the project/single.html template uses an additional parameter unique +to this template. This doesn't need to be defined ahead of time. If the key is +present in the front matter than it can be used in the template. To +easily generate new content of this type with these keys ready use +[content archetypes](/content/archetypes). |
