Frontmatter Schema Reference

This document describes the complete frontmatter schema used in Standard Garden notes. Frontmatter is YAML metadata placed at the top of your markdown files between --- delimiters.

Quick Start

Minimal Example:

---
title: "My Note Title"
---

That’s it! Everything else is optional. Standard Garden follows a zero-config by default philosophy.

Complete Schema

1. Identity (the Basics)

title (required)

  • Type: string
  • Length: 1-150 characters
  • Description: the title of your note
  • Auto-generated: if omitted, we extract from filename or first line
---
title: "My Garden Notes"
---

slug (optional)

  • Type: string
  • Length: 3-100 characters
  • Format: lowercase letters, numbers, and dashes only
  • Description: Custom URL path for your note
  • Default: Auto-generated from title
---
title: "My Amazing Recipe"
slug: "chocolate-cake-2024"
---
# Your note will be at: username/chocolate-cake-2024

date (optional)

  • Type: string (ISO 8601 format)
  • Description: Custom date for sorting
  • Default: Current timestamp
---
title: "Old Journal Entry"
date: "2020-05-15"
---

tags (optional)

  • Type: array of strings
  • Description: Tags for AI-powered discovery and search
  • Usage: Hints for the "mycelium" network
---
title: "Sourdough Starter Guide"
tags: ["baking", "fermentation", "bread"]
---

2. Control (the Gate)

visibility (default: public)

  • Type: enum: public, unlisted, private
  • Description: Who can see this note

Values:

  • public – Visible in feeds and search (default)
  • unlisted – Accessible via direct link only
  • private – Only you can see it (requires paid tier)
---
title: "Draft Article"
visibility: unlisted
---

3. the Press (the Vibe)

theme (optional, auto-detected)

  • Type: enum: international, technical, humanist, editorial, academic, gallery
  • Description: Which of the Six Temperaments to use
  • Default: Auto-detected based on content

the Six Temperaments:

  1. international – the Construct

    • Rigid, mathematical, Swiss minimalism
    • Helvetica/Inter typography
    • For: Technical docs, minimal design
  2. technical – the Blueprint

    • Monospace, graph paper, safety orange
    • IBM Plex Mono typography
    • For: Repair manuals, code docs, how-tos
  3. humanist – the Letter

    • Warm, organic, personal
    • Adobe Jenson/Garamond typography
    • For: Poems, letters, personal essays
  4. editorial – the Chronicle

    • Journalism, contrast, drop caps
    • Miller/Source Serif typography
    • For: Essays, long-form journalism
  5. academic – the Treatise

    • Scholarly, marginal notes, aged paper
    • Journal-style with sidenotes
    • For: Research papers, thesis writing
  6. gallery – the Exhibit

    • Invisible, spatial, minimalist
    • Museum-style, receded captions
    • For: Visual portfolios, photo essays
---
title: "How to Fix a Carburetor"
theme: technical
---

4. Sovereign Style (the Override)

style (optional)

  • Type: object with optional properties
  • Description: Custom colors and typography
  • Note: Advanced users only

Properties:

  • ink – Text color
  • paper – Background color
  • signal – Accent/action color (auto-generates full spectrum)
  • font – Body font override
  • rhythm – Line height / spacing scale
---
title: "Brand-Styled Note"
style:
  ink: "#1a1a1a"
  paper: "#fffef9"
  signal: "#d65d0e"
  font: "Georgia"
---

Note: the signal color uses OKLCH color space magic to generate a harmonious palette (red for errors, green for success, etc.) that preserves your chosen vibe.

5. Academic Extras (the Scholar)

abstract (optional)

  • Type: string
  • Description: Brief summary for academic notes
  • Usage: Only relevant when theme: academic
---
title: "Quantum Computing Fundamentals"
theme: academic
abstract: "This paper explores the fundamental principles of quantum computing, including superposition, entanglement, and quantum gates."
---

bibliography (optional)

  • Type: string
  • Description: Link or path to bibliography file
  • Usage: Only relevant when theme: academic
---
title: "Research Paper"
theme: academic
bibliography: "refs.bib"
---

6. Content Language (the Typography)

lang (default: en)

  • Type: enum: en, fr, de, it, es
  • Description: Language of the note content (affects typography)
  • Note: Separate from UI language

Important: This controls typographic conventions (quote styles, spacing, punctuation), NOT the interface language.

---
title: "La Beauté de la Typographie"
lang: fr
---

Cette note utilise les guillemets français : « comme ceci ».

Supported Languages:

  • en – English (default)
  • fr – French (guillemets français)
  • de – German (German quotes)
  • it – Italian
  • es – Spanish

7. Legacy / Internal Fields

content (optional)

  • Type: string
  • Description: Note content (typically in the body, not frontmatter)
  • Default: Empty string (allows drafts)
---
title: "Draft Note"
content: ""
---

Complete Examples

Example 1: Simple Public Note

---
title: "My First Garden Note"
---

This is the simplest possible note. Everything is auto-configured.

Example 2: Technical Manual

---
title: "Fixing a 1967 Ski-Doo Carburetor"
theme: technical
tags: ["repair", "vintage", "snowmobile"]
visibility: public
---

# Step-by-Step Guide

Remove the air filter...

Example 3: Academic Paper

---
title: "Quantum Entanglement and Information Theory"
theme: academic
abstract: "This paper explores the relationship between quantum entanglement and classical information theory, demonstrating novel applications in quantum computing."
bibliography: "quantum-refs.bib"
date: "2024-03-15"
tags: ["quantum", "physics", "information-theory"]
lang: en
---

# Introduction

Quantum mechanics...

Example 4: Personal Essay (French)

---
title: "Souvenirs d'Été"
theme: humanist
lang: fr
visibility: unlisted
---

Les étés de mon enfance...

Example 5: Branded Portfolio

---
title: "Design Portfolio 2024"
theme: gallery
style:
  signal: "#FF6B35"
  paper: "#0a0a0a"
  ink: "#f5f5f5"
tags: ["design", "portfolio", "visual"]
---

![Project 1](image1.jpg)
![Project 2](image2.jpg)

Example 6: Private Research Note

---
title: "Project Ideas (Private)"
visibility: private
tags: ["ideas", "research", "wip"]
date: "2024-12-26"
---

Ideas I'm exploring...

Validation Rules

the schema enforces these rules:

  1. Title: Required, 1-150 characters
  2. Slug: if provided, must be 3-100 chars, lowercase alphanumeric + dashes
  3. Visibility: Must be public, unlisted, or private
  4. Theme: Must be one of the six temperaments
  5. Lang: Must be one of the five supported languages
  6. Tags: Must be an array of strings

Invalid frontmatter will be rejected with a clear error message.

Best Practices

Zero Config First

---
title: "Just a Title"
---

Start simple. Add complexity only when needed.

Theme Selection

Let Standard Garden auto-detect your theme unless you have a specific vibe in mind. the auto-detection is smart:

  • Math formulas academic
  • Code blocks technical
  • Blockquotes & long paragraphs editorial
  • Short personal text humanist

Tag Strategy

Use tags for discovery, not organization:

tags: ["baking", "fermentation"]  # Good
tags: ["2024", "draft", "misc"]    # Less useful

Language Settings

Only set lang if writing in a non-English language:

# English content - omit lang
---
title: "My Note"
---

# French content - specify lang
---
title: "Ma Note"
lang: fr
---

Schema Version

This documentation describes Standard Garden Protocol v1.0.

the schema is defined in apps/web/src/lib/schema.js using Zod validation.


See Also: