NUU Guide
Templates

Blog Template Options

Complete reference for the blog template configuration options. These are set under the options field in a vessel definition.


Quick Example

options:
  title: "My Engineering Blog"
  description: "Thoughts on software and systems"
  sidebar: false
  showDates: true
  showAuthor: true
  showReadTime: true
  featured: "welcome-post"
  sortBy: "date"
  sortDirection: "desc"
  listDetail: "date"

Display Options

title

  • Type: string
  • Default: Vessel name

Override the blog title shown on the homepage. If omitted, the vessel's name field is used.

description

  • Type: string
  • Default: Vessel description

Override the blog description shown below the title on the homepage. If omitted, the vessel's description field is used.

  • Type: boolean
  • Default: true

Show a sidebar with post navigation when viewing individual posts. On desktop, the sidebar is a fixed panel on the left. On mobile, it collapses into a slide-out sheet menu.

When false, individual posts render in a clean single-column layout.

showDates

  • Type: boolean
  • Default: true

Show dates on individual post pages and featured cards. Reads from the date frontmatter field on each content file.

showAuthor

  • Type: boolean
  • Default: true

Show author attribution on individual post pages. Reads from the author frontmatter field on each content file.

showReadTime

  • Type: boolean
  • Default: true

Show estimated reading time on individual post pages and featured cards. Calculated automatically from content length (~200 words per minute).


Featured Post

  • Type: string
  • Default: none

Title or slug of a post to feature as a hero card at the top of the homepage. The featured post is displayed in a bordered card above the post list with its excerpt (if the post has an excerpt frontmatter field).

When searching, the featured card is hidden and the featured post appears in the filtered results.


Sorting

sortBy

  • Type: string
  • Default: none (default order)

Frontmatter field name to sort posts by in the list. Can also be set to "title" to sort alphabetically by post title.

The sort is type-aware: if the field values are parseable as dates, they're compared chronologically. Otherwise, they're compared as strings using locale-aware ordering.

Common values: "date", "title", "order", "author"

sortDirection

  • Type: "asc" | "desc"
  • Default: "desc"

Sort direction. Use "desc" for newest-first date sorting or reverse alphabetical, "asc" for oldest-first or A-Z.

Only takes effect when sortBy is set.


Post List

listDetail

  • Type: string
  • Default: "date"

Frontmatter field to display on the right side of each post row in the homepage list. The value is auto-formatted: date strings are displayed as short dates (e.g., "Jan 5, 2025"), other values are shown as-is.

Set to "" (empty string) to hide the detail column entirely.

Common values: "date", "author", "category", ""


Content File Frontmatter

Blog posts can include any frontmatter fields. The fields below are recognized by the template:

FieldTypeUsed by
datestring (ISO date)showDates, sortBy, listDetail
authorstringshowAuthor, listDetail
excerptstringFeatured card description
Any custom fieldstring or numbersortBy, listDetail

See also: