Main Sections

The mainSections parameter is used to filter pages, default to ["posts", "docs"].

1mainSections = ["blog", "posts", "docs", "notes"]
toml
config/_default/params.toml

Content Types

You may want to use docs layout in other sections instead of /docs, such as /notes. It’s easy to do that by setting type = "docs" on the front matter.

Archetypes

We can also create a archetype for notes, let’s Hugo take care of the type.

1$ cp themes/hugo-theme-bootstrap/archetypes/default.md archetypes/notes.md
shell

And the append type = "docs" on the front matter of archetypes/notes.md. Now, hugo new notes/blah-blah-blah will copy the content of archetypes/notes.md to your new notes.

Similarly, you can also custom the archetypes for posts, docs and so on.

Sections Template

You may also want to use the same list layout of docs on notes.

1{{ define "content" }}
2{{- partial "docs/catalog" . -}}
3<div class="col-lg-7 ms-auto">
4  {{ partial "docs/list" . }}
5</div>
6{{- partial "docs/sidebar" . -}}
7{{ end }}
html
layouts/notes/list.html

Write New Articles

Suppose the default language is en.

1$ hugo new posts/new-post/index.md
shell

The command above create a new post written in English. Similarly, we can create a post written in Simplified Chinese:

1$ hugo new posts/new-post/index.zh-cn.md
shell

Please remind that, the created posts are generally in draft state. You’ll need to specify the -D parameter of the command hugo server for previewing. Similarly, you need to change the draft to false or remove draft parameter if you want to publish the article.

Summary Selection Order

  1. If post.excerpt = "description" and description is not empty, then it’ll be used.
  2. Manual splitting via <!–more–>.
  3. If summary on front matter isn’t empty, then summary will be selected.
  4. The text of content will be cut off by post.excerptMaxLength and formatted in plain text or HTML when post.plainifyExcerpt = true.
1[post]
2  # excerpt = "description"
3  # excerptMaxLength = 120
4  # copyright = false # Whether to display copyright section on each post.
5  # plainifyExcerpt = false # Format excerpt in HTML if false.
toml
config/_default/params.toml

Thumbnail Selection Order

  1. The images on front matter are preferred.
  2. Page images resources that match the filename’s patterns: *feature*, *cover* and *thumbnail*. Such as posts/my-page/feature.png.

The page images resources will be resized to several smaller versions to suit the users devices for saving the bandwidth.

Pinning Posts

You can pin posts on the home page by setting pinned to true on the front matter.

1+++
2title = "Pinned Post"
3pinned = true
4weight = 100
5+++
markdown

If there is multiple pinned posts, they are sorted by weight in descending order.

1pinnedPost = false # Disable pinned posts globally.
2pinnedPostCount = 2 # The number of pinned posts shown on home page.
toml
config/_default/params.toml

Showing posts on carousel.

1+++
2carousel = true
3+++
markdown

Up Next