Blog

Last updated: 03/06/2026Edit this page

This guide covers creating blog posts and release notes in Trellis Docs. For documentation pages, see Docs.

Blog posts

Blog posts live in content/blog/. Name files with a date prefix:

content/blog/2026-02-20-welcome.mdx

Blog frontmatter

---
title: Welcome to Trellis
description: Introducing the Trellis docs framework.
slug: welcome
authors:
  - patriciamcphee
category: Announcement
featured: true
coverImage: /img/blog/welcome-hero.jpg
---
FieldTypeDescription
titlestringPost title
descriptionstringShort description shown on cards and meta tags
slugstringURL slug (defaults to the filename slug)
authorsarrayAuthor IDs or inline objects (see Authors below)
categorystringCategory label shown as a badge on cards
featuredbooleanWhen true, the post appears in the featured hero slot
coverImagestringPath to a cover image (replaces the gradient)
coverColorstringCSS color for the card header (e.g. '#0078D4')

Trellis parses the date from the filename. Posts are listed at /blog/, newest first.

Cover visuals

Each blog card and article hero shows a visual header. You have three options:

  1. Cover image — Set coverImage to a path like /img/blog/my-post.jpg. The image fills the card header area.
  2. Brand color — Set coverColor to any CSS color (hex, rgb, hsl). The color fills the header with a subtle pattern overlay.
  3. Category gradient (default) — If neither is set, Trellis picks a gradient based on the category field.
# Cover image
coverImage: /img/blog/my-post.jpg

# Brand color
coverColor: '#0078D4'

# No cover fields — uses the category gradient

Built-in category gradients: Engineering, Product, Design, Tutorial, Announcement, Writing, Feature. Unrecognized categories fall back to a hash-based gradient.

Authors

Author data can be defined centrally in config/authors.ts and referenced by ID, or provided inline in frontmatter. Inline fields override the config profile.

Central author profiles

Define authors once in config/authors.ts:

config/authors.ts
export const authors: Record<string, AuthorProfile> = {
  patriciamcphee: {
    name: 'Patricia McPhee',
    role: 'Framework Founder & Lead Technical Writer',
    bio: 'Patricia is the creator of Trellis Docs and a technical writer with over 15 years of experience.',
    img: '/img/authors/avatar-patriciamcphee.png',
    url: 'https://github.com/patriciamcphee',
  },
}
FieldDescription
nameDisplay name (required)
roleJob title or role
bioShort biography shown in the author card at the bottom of articles
imgPath to avatar image
urlLink for the author name in the bio card

Referencing authors in frontmatter

# By ID — resolves from config/authors.ts
authors:
  - patriciamcphee

# Inline object — for guest authors or one-off posts
authors:
  - name: Guest Writer
    role: Contributor
    bio: A guest post by an external contributor.

# Override — inline fields override the config profile
authors:
  - name: Patricia McPhee
    role: Special Guest  # overrides the config role

When an inline object matches a config profile by name, the config fields are used as defaults and the inline fields take priority.

The author name at the top of each article links to the bio card at the bottom of the page.

Excerpt truncation

Use an MDX comment to mark where the excerpt ends on the blog index page:

This intro paragraph appears on the index page.

{/* truncate */}

This content only appears on the full post page.

Release notes

Release notes live in content/release-notes/. Name files after the version:

content/release-notes/v1.0.0.md

Release notes frontmatter

---
title: v1.0.0
version: 1.0.0
date: 2026-02-20
description: Initial release of Trellis on Next.js.
---

## Added
- Smart search with configurable weights
- Design token pipeline

## Changed
- Migrated from Docusaurus to Next.js

## Removed
- Legacy search plugin
FieldDescription
titleDisplay title
versionSemantic version for sorting
dateRelease date (YYYY-MM-DD)
descriptionShort summary

Release notes are listed at /release-notes/, sorted by version (newest first).


Was this page helpful?