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:
- โ SVG (vector graphics)
- โ PNG/JPG (raster images)
- โ GIF (animated)
- โ WebP (modern format)
- ๐ฎ Lottie (future support)
๐จ 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:
- Files without frontmatter โ Use hardcoded
getSectionConfig()fallback - Files with partial frontmatter โ Mix frontmatter + fallback values
- 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:
- Same
crossLanguageId: Both files must have identicalcrossLanguageIdvalues - Path Mapping: The
languageVersionsobject maps language codes to their respective paths - No Language Prefix: Paths in
languageVersionsshould NOT include/es/prefix - the system handles this automatically - Directory Structure: Spanish sections may have different names (e.g.,
documentationโdocumentacion)
๐ URL Behavior:
- Spanish URL:
/es/documentacion/language-aware-discovery-and-navigation - English URL:
/documentation/language-aware-discovery-and-navigation - Language Switch: Automatically navigates between these URLs when user changes language
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:
- File Extensions: Spanish files use
.es.mdextension - Directory Names: Spanish directories often use translated names (
documentationโdocumentacion) - Path Resolution: The system automatically handles language prefixes and file extensions
- Fallback: If cross-language linking fails, the system falls back to directory translation
๐ฏ 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:
- Index pages (
index.md) - Getting started guides
- Popular tutorials
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:
- Use descriptive titles and descriptions
- Choose appropriate difficulty levels
- Estimate reading times accurately
- Use consistent tagging conventions
- Provide meaningful prerequisites
- Use folder-scoped ordering (1, 2, 3...)
โ Don't:
- Use extremely long titles (>60 chars)
- Skip descriptions for important pages
- Use random order numbers (use sequential: 1, 2, 3)
- Mix emoji and URL icons inconsistently
- Forget to update
lastUpdateddates
๐ฎ Future Enhancements
Coming soon:
- ๐ฌ Lottie animation support
- ๐จ Custom CSS per page
- ๐ Analytics integration
- ๐ Auto-generated related pages
- ๐ Multi-language linking
- ๐ฑ Mobile-specific layouts
๐ 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.