Frontmatter Reference

Fields marked auto-set by karaoke-enrich are written by the AI enrichment pipeline (karaoke-enrich). You can set them manually; if you do, karaoke-enrich skips them.


Blog posts

Schema: @karaoke-cms/module-blog/schemablogSchema

FieldTypeRequiredDefaultAuto-setDescription
titlestringYesNoPost title. Shown in browser tab, list, and post heading.
publishbooleanNofalseNotrue to include in production builds. Posts with publish: false or no publish key are vault-only.
datestring (ISO 8601)NoNoPublication date. Used for sorting and RSS. Coerced to Date.
authorstring | string[]NoNoAuthor name or list of names.
descriptionstringNoYesShort summary. Used in RSS, OG tags, and post cards.
tagsstring[]NoYesTag list. Aggregated into the tags index.
reading_timenumberNoYesEstimated reading time in minutes.
relatedstring[]NoYesSlugs of related posts, computed from semantic similarity.
featuredbooleanNofalseNoWhen true, renders the post as a full-width hero on the list page.
featured_imagestringNoNoPath to the hero image (relative to vault root or absolute URL).
commentsbooleanNo— (uses module default)NoOverride the module-level comments default for this post.

Example

---
title: "My Post"
publish: true
date: 2026-03-15
author: "Alice"
description: "A short summary of the post."
tags: [astro, obsidian]
reading_time: 4
featured: false
featured_image: "assets/my-image.png"
comments: true
---

Docs pages

Schema: @karaoke-cms/module-docs/schemadocsSchema

FieldTypeRequiredDefaultAuto-setDescription
titlestringYesNoPage title. Shown in browser tab, sidebar, and page heading.
publishbooleanNofalseNotrue to include in production builds.
datestring (ISO 8601)NoNoLast-updated date. Coerced to Date.
authorstring | string[]NoNoAuthor name or list of names.
descriptionstringNoYesShort summary. Used in OG tags.
tagsstring[]NoYesTag list. Included in the cross-collection tags index.
reading_timenumberNoYesEstimated reading time in minutes.
relatedstring[]NoYesSlugs of related docs pages.
featured_imagestringNoNoPath to the hero image.
commentsbooleanNo— (uses module default)NoOverride the module-level comments default for this page.

Notes

  • Docs pages do not have a featured field — that is blog-only.
  • Sidebar ordering is controlled by the filesystem (alphabetical) or by the weight field on the DocsSection config, not by per-page frontmatter.

Example

---
title: "Getting Started"
publish: true
description: "Install karaoke-cms and publish your first post."
tags: [setup, quickstart]
reading_time: 6
comments: false
---