Issue
Generated YouTube Shorts scripts lacked the required frontmatter header, causing videos to render with incorrect visual styling. The system expected either a multi-line YAML format or a single-line frontmatter header (e.g., ---style: ayu_mirage, thumbnailtitle: 'FastMCP 2.0'---), but instead produced scripts beginning directly with code blocks, resulting in default styling and missing metadata such as the thumbnail title.
Culprit
The frontmatter extraction logic only supported multi-line YAML format between --- delimiters, failing to detect the single-line format. The system used a state machine that required multiple lines of key-value pairs, causing it to skip frontmatter extraction entirely when encountering a single-line format. This led to the frontmatter being omitted from generated shorts scripts.
Solution
A dual-format detection system was implemented to handle both single-line and multi-line frontmatter formats. The solution:
- Prioritizes single-line detection: Checks for the single-line format first before processing multi-line YAML, ensuring compatibility with the project’s common usage.
- Early termination: Stops processing after the first non-empty line that is not frontmatter, preventing false matches with later
---occurrences. - Preserves formatting: Stores the original frontmatter line verbatim to maintain all spacing, quotes, and ordering, ensuring exact compatibility with rendering systems.
- Maintains backward compatibility: Continues supporting multi-line YAML format for existing use cases.
This transformation ensures that generated shorts scripts include the required frontmatter, enabling correct visual styling and metadata rendering.