Frontmatter Metadata System

Complete guide to using frontmatter metadata in documentation files for enhanced navigation, icons, and organization

๐ŸŽฏ Frontmatter Metadata System

The documentation system now supports rich frontmatter metadata in .md files, allowing you to control navigation, icons, ordering, and much more without touching any code.

๐Ÿš€ Quick Start

Add YAML frontmatter to the top of any .md file:

---
title: My Amazing Guide
description: A comprehensive guide to amazing things
icon: ๐ŸŒŸ // Include the icon of the documentation.
order: 1
category: guides // Include the category of the documentation.
tags: [tutorial, beginner-friendly] // Include the tags of the documentation.
author: Your Name // Include the author of the documentation.
created: November 6, 2025 - 10:00 AM // Double check the date and time is correct.
updated: November 14, 2025 - 8:00 AM EST // Double check the date and time is correct.
sessionID: 125.1 // This is the session ID of the session that the documentation was created in.
status: published // Include the status of the documentation.
difficulty: beginner // Include the difficulty level of the documentation.
estimatedReadTime: 5 // Include the estimated reading time of the documentation.
toc: true // Include the table of contents of the documentation.
searchable: true // Include the searchable flag of the documentation.
breadcrumbs: true // Include the breadcrumbs flag of the documentation.  
sidebar: true // Include the sidebar flag of the documentation.
purpose: The definitive architectural document integrating all systems // Include the purpose of the documentation.
---

# Your content starts here...

๐Ÿ“‹ Complete Property Reference

โœ… Basic Metadata

Property Type Description Example
title string Page title (overrides H1) "Getting Started Guide"
description string Page description for SEO/previews "Learn the basics..."
author string Content author "GoGrab Team"
created string Creation date "November 6, 2025 - 10:00 AM"
updated string Last modification date "November 14, 2025 - 8:00 AM EST"
sessionID string Session ID "125.1"
version string Content version "1.2.0"
language string Content language "en" or "es"
purpose string Content purpose "The definitive architectural document integrating all systems"

๐ŸŽจ Visual & Navigation

Property Type Description Example
icon string Emoji or URL for navigation "๐Ÿš€" or "https://example.com/icon.svg"
color string Theme color (hex) "#FF6B6B"
order number Folder-scoped ordering 1, 2, 3
weight number Alternative to order 100, 200

๐Ÿท๏ธ Organization

Property Type Description Example
category string Content category "tutorials"
tags array Content tags ["ai", "music", "tutorial"]
status enum Content status "draft", "published", "archived"
visibility enum Access level "public", "private"
difficulty enum Difficulty level "beginner", "intermediate", "advanced"

โฑ๏ธ User Experience

Property Type Description Example
estimatedReadTime number Reading time in minutes 5, 10, 15
prerequisites array Required knowledge ["basic-html", "css-fundamentals"]
relatedPages array Related documentation ["advanced-guide", "troubleshooting"]

๐ŸŽ›๏ธ UI Controls

Property Type Description Default
featured boolean Highlight in listings false
toc boolean Show table of contents true
searchable boolean Include in search true
breadcrumbs boolean Show breadcrumb navigation true
sidebar boolean Show in sidebar navigation true
layout string Custom layout template "default"

๐ŸŽจ Icon System

The new system supports both emojis and URLs:

๐Ÿ“ฑ Emoji Icons

icon: ๐Ÿš€  # Rocket emoji
icon: ๐ŸŽต  # Musical note
icon: ๐Ÿ”ง  # Wrench tool

๐Ÿ–ผ๏ธ URL Icons (SVG, PNG, etc.)

icon: https://gograb.io/media/icons/svg/static/sun.svg
icon: /assets/icons/custom-icon.png
icon: https://cdn.example.com/lottie/animation.lottie

Supported formats:

๐ŸŽจ Theme System Integration

The frontmatter system now fully integrates with your AI-Powered Theme System, matching the structure from theme-system.md:

Complete Theme Configuration

theme:
  name: gograb-pulse-music-ai
  type: feature  # framework | feature | core | foundation
  brandArchetype: Creator  # Hero, Sage, Innovator, Creator, etc.
  industry: entertainment  # healthcare, finance, technology, etc.
  designStyle: modern  # modern, classic, minimal, bold, playful, professional
  accessibilityLevel: AA  # AA or AAA
  primaryColors: ["#FF6B6B", "#4ECDC4", "#45B7D1"]
  visualEffects:
    neumorphism: false
    glassmorphism: true
    gradients: true
    animations: true
  componentVariations:
    buttons: music-creator-style
    cards: album-card-style
    forms: audio-input-style
    navigation: studio-nav-style

Performance & Analytics

performance:
  loadPriority: high  # high | normal | low
  cacheStrategy: aggressive  # aggressive | normal | minimal
  preload: true

Internationalization

i18n:
  translationKey: gograb-pulse-intro
  rtlSupport: false
  culturalAdaptations: [music-industry-global, ai-ethics-considerations]

๐Ÿ“ Folder-Scoped Ordering

The order property works within each folder, not globally:

๐Ÿ“ guides/
  โ”œโ”€โ”€ ๐Ÿ“„ intro.md (order: 1)      โ† Shows first in guides
  โ”œโ”€โ”€ ๐Ÿ“„ advanced.md (order: 2)   โ† Shows second in guides  
  โ””โ”€โ”€ ๐Ÿ“„ tips.md (order: 3)       โ† Shows third in guides

๐Ÿ“ tutorials/
  โ”œโ”€โ”€ ๐Ÿ“„ basics.md (order: 1)     โ† Shows first in tutorials
  โ””โ”€โ”€ ๐Ÿ“„ expert.md (order: 2)     โ† Shows second in tutorials

๐Ÿ”„ Backwards Compatibility

The system is fully backwards compatible:

  1. Files without frontmatter โ†’ Use hardcoded getSectionConfig() fallback
  2. Files with partial frontmatter โ†’ Mix frontmatter + fallback values
  3. Files with complete frontmatter โ†’ Use frontmatter exclusively

๐ŸŒ Language Support & Cross-Language Linking

Basic Language Support:

---
title: Getting Started
description: Learn the basics of our platform
language: en
---

๐Ÿš€ WORKING: Cross-Language Linking System

Our documentation system now supports intelligent cross-language linking that allows users to switch languages while staying on the same conceptual page. When a user switches languages, the system will navigate to the equivalent page in the target language.

๐Ÿ“ File Location Guide:

English Files: apps/docs-angular/src/assets/docs/english/public/[section]/[filename].md Spanish Files: apps/docs-angular/src/assets/docs/spanish/public/[section]/[filename].es.md

๐Ÿ”ง Implementation Example:

English File (apps/docs-angular/src/assets/docs/english/public/documentation/language-aware-discovery-and-navigation.md):

---
title: Languageโ€‘Aware Discovery & Navigation
description: Navigation labels, links, and routes now derive strictly from the selected language
layout: guide
crossLanguageId: language-aware-discovery-navigation
created: November 6, 2025 - 10:00 AM // Double check the date and time is correct.
updated: November 14, 2025 - 8:00 AM EST // Double check the date and time is correct.
languageVersions:
  en: documentation/language-aware-discovery-and-navigation
  es: documentacion/language-aware-discovery-and-navigation
---

Spanish File (apps/docs-angular/src/assets/docs/spanish/public/documentacion/language-aware-discovery-and-navigation.es.md):

---
title: Sistema de navegaciรณn basado en idioma
description: Placeholder en espaรฑol para documentar el comportamiento basado en idioma
layout: guide
crossLanguageId: language-aware-discovery-navigation
created: Noviembre 6, 2025 - 10:00 AM EST // Double check the date and time is correct.
updated: Noviembre 14, 2025 - 8:00 AM EST // Double check the date and time is correct.
sessionID: 125.1 // This is the session ID of the session that the documentation was created in.
languageVersions:
  en: documentation/language-aware-discovery-and-navigation
  es: documentacion/language-aware-discovery-and-navigation
---

๐ŸŽฏ Key Points:

  1. Same crossLanguageId: Both files must have identical crossLanguageId values
  2. Path Mapping: The languageVersions object maps language codes to their respective paths
  3. No Language Prefix: Paths in languageVersions should NOT include /es/ prefix - the system handles this automatically
  4. Directory Structure: Spanish sections may have different names (e.g., documentation โ†’ documentacion)

๐ŸŒ URL Behavior:

Cross-Language Properties:

Property Type Description Example
crossLanguageId string Unique identifier linking related pages across languages "language-aware-discovery-navigation"
languageVersions object Maps language codes to their respective paths (without language prefix) { en: "documentation/page", es: "documentacion/pagina" }

๐Ÿšจ Important Notes:

๐ŸŽฏ Real-World Examples

Tutorial Page

---
title: Creating Your First AI Song
description: Step-by-step guide to generating music with Suno AI
icon: ๐ŸŽต
order: 1
category: tutorials
tags: [ai, music, suno, beginner]
author: Music Team
difficulty: beginner
estimatedReadTime: 10
prerequisites: [basic-music-theory]
relatedPages: [voice-generation, advanced-techniques]
created: November 6, 2025 - 10:00 AM // Double check the date and time is correct.
updated: November 14, 2025 - 8:00 AM EST // Double check the date and time is correct.
sessionID: 125.1 // This is the session ID of the session that the documentation was created in.
status: published // Include the status of the documentation.
purpose: The definitive architectural document integrating all systems // Include the purpose of the documentation.
featured: true
toc: true
searchable: true
breadcrumbs: true
sidebar: true
---

API Reference

---
title: Authentication API
description: Complete reference for authentication endpoints
icon: https://api-docs.example.com/icons/auth.svg
order: 1
category: api-reference
tags: [api, authentication, security]
difficulty: intermediate
estimatedReadTime: 15
created: November 6, 2025 - 10:00 AM // Double check the date and time is correct.
updated: November 14, 2025 - 8:00 AM EST // Double check the date and time is correct.
sessionID: 125.1 // This is the session ID of the session that the documentation was created in.
status: published
toc: true
searchable: true
---

Troubleshooting Guide

---
title: Common Issues & Solutions
description: Resolve the most frequent problems quickly
icon: ๐Ÿ› ๏ธ
order: 999
category: troubleshooting
tags: [troubleshooting, faq, solutions]
difficulty: beginner
estimatedReadTime: 8
created: November 6, 2025 - 10:00 AM // Double check the date and time is correct.
updated: November 14, 2025 - 8:00 AM EST // Double check the date and time is correct.
status: published
featured: false
---

๐Ÿš€ Migration Guide

Step 1: Identify High-Priority Pages

Start with your most important documentation:

Step 2: Add Basic Frontmatter

Begin with essential properties:

---
title: Page Title
description: Brief description
icon: ๐Ÿš€
order: 1
created: November 6, 2025 - 10:00 AM // Double check the date and time is correct.
updated: November 14, 2025 - 8:00 AM EST // Double check the date and time is correct.
---

Step 3: Enhance Gradually

Add more metadata over time:

---
title: Page Title
description: Brief description  
icon: ๐Ÿš€
order: 1
category: guides
tags: [tutorial, beginner]
difficulty: beginner
estimatedReadTime: 5
created: November 6, 2025 - 10:00 AM // Double check the date and time is correct.
updated: November 14, 2025 - 8:00 AM EST // Double check the date and time is correct.
---

Step 4: Custom Icons

Replace emojis with branded SVG icons:

---
icon: https://your-domain.com/icons/custom.svg
---

๐Ÿ’ก Best Practices

โœ… Do:

โŒ Don't:

๐Ÿ”ฎ Future Enhancements

Coming soon:


๐ŸŽ‰ Get Started Today!

The frontmatter metadata system is live and ready to use. Start enhancing your documentation with rich metadata and watch your navigation come alive with custom icons, perfect ordering, and enhanced user experience!

Questions? Check out our Configuration Guide or reach out to the GoGrab Team.