Skip to content

fix(docs): correct YAML frontmatter syntax in s2-docs#699

Merged
GarthDB merged 1 commit intomainfrom
fix/s2-docs-yaml-frontmatter
Feb 12, 2026
Merged

fix(docs): correct YAML frontmatter syntax in s2-docs#699
GarthDB merged 1 commit intomainfrom
fix/s2-docs-yaml-frontmatter

Conversation

@GarthDB
Copy link
Member

@GarthDB GarthDB commented Feb 12, 2026

Summary

Fixed GitHub rendering errors caused by invalid YAML frontmatter syntax in 99 s2-docs markdown files. This resolves the "Error in user YAML" issue that was preventing files from rendering correctly on GitHub.

Problem

The s2-docs markdown files had multiple YAML syntax errors in their frontmatter:

  • Asterisk list items (*) instead of dashes (-) - YAML interprets * as alias references
  • Escaped underscores (\_) in field names like source\_url and last\_updated
  • Angle brackets around URLs like <https://...>
  • Excessive blank lines in the frontmatter

Example error from GitHub:

Error in user YAML: (<unknown>): did not find expected alphabetic or numeric character while scanning an alias at line 8 column 1

Changes

Fixed Files (99 files)

  • All docs/s2-docs/**/*.md files now have valid YAML frontmatter
  • Fixed syntax in components, designing, fundamentals, developing, and support sections

New Tooling

Added to tools/s2-docs-transformer/:

  1. scripts/fix-yaml-frontmatter.js - Automatically fixes YAML syntax issues
  2. test/yaml-frontmatter.test.js - Validates YAML frontmatter across all s2-docs
  3. ava.config.js - Test configuration

Configuration Updates

  • .lintstagedrc.js - Excluded docs/s2-docs/ from remark processing to prevent future breakage
  • tools/s2-docs-transformer/package.json - Added fix-yaml and test scripts
  • tools/s2-docs-transformer/moon.yml - Added fix-yaml and test tasks
  • tools/s2-docs-transformer/README.md - Documented new functionality

Test Plan

  • Fixed all YAML frontmatter issues in 99 files
  • All tests pass (pnpm --filter @adobe/s2-docs-transformer run test)
  • Verified files render correctly on GitHub
  • Confirmed lint-staged doesn't break YAML frontmatter
  • Verified remark doesn't process s2-docs files

Screenshots

Before: GitHub shows "Error in user YAML" when viewing files
After: Files render correctly with proper frontmatter display

Future Prevention

The new test suite will catch these issues in CI before they reach main:

pnpm --filter @adobe/s2-docs-transformer run test

To fix issues manually:

pnpm --filter @adobe/s2-docs-transformer run fix-yaml

Made with Cursor

Fixed GitHub rendering errors caused by invalid YAML frontmatter syntax
in 99 s2-docs markdown files.

Changes:
- Fixed asterisk (*) list items to use dash (-) syntax
- Removed escaped underscores (\_) from field names
- Removed angle brackets from URLs
- Cleaned up excessive blank lines in frontmatter

Added tooling to prevent future issues:
- Created fix-yaml-frontmatter.js script to automate fixes
- Added YAML frontmatter validation tests with AVA
- Updated lint-staged to exclude s2-docs from remark processing
- Updated s2-docs-transformer README with new tools

This resolves the "Error in user YAML" issue visible on GitHub when
viewing s2-docs markdown files.

Co-authored-by: Cursor <cursoragent@cursor.com>
@changeset-bot
Copy link

changeset-bot bot commented Feb 12, 2026

⚠️ No Changeset found

Latest commit: 7029892

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@GarthDB
Copy link
Member Author

GarthDB commented Feb 12, 2026

Run report for 70298922

Total time: 7.5ms | Comparison time: 0s | Estimated loss: 7.5ms (100.0% slower)

Action Time Status Info
🟩 SyncWorkspace 7.4ms Passed
Touched files
.lintstagedrc.js
docs/s2-docs/components/actions/action-bar.md
docs/s2-docs/components/actions/action-button.md
docs/s2-docs/components/actions/action-group.md
docs/s2-docs/components/actions/button-group.md
docs/s2-docs/components/actions/button.md
docs/s2-docs/components/actions/close-button.md
docs/s2-docs/components/actions/link.md
docs/s2-docs/components/actions/list-view.md
docs/s2-docs/components/actions/menu.md
docs/s2-docs/components/containers/cards.md
docs/s2-docs/components/containers/divider.md
docs/s2-docs/components/containers/popover.md
docs/s2-docs/components/containers/standard-panel.md
docs/s2-docs/components/containers/table.md
docs/s2-docs/components/feedback/alert-banner.md
docs/s2-docs/components/feedback/alert-dialog.md
docs/s2-docs/components/feedback/coach-indicator.md
docs/s2-docs/components/feedback/coach-mark.md
docs/s2-docs/components/feedback/contextual-help.md
docs/s2-docs/components/feedback/illustrated-message.md
docs/s2-docs/components/feedback/in-line-alert.md
docs/s2-docs/components/feedback/standard-dialog.md
docs/s2-docs/components/feedback/takeover-dialog.md
docs/s2-docs/components/feedback/toast.md
docs/s2-docs/components/feedback/tooltip.md
docs/s2-docs/components/inputs/calendar.md
docs/s2-docs/components/inputs/checkbox-group.md
docs/s2-docs/components/inputs/checkbox.md
docs/s2-docs/components/inputs/color-area.md
docs/s2-docs/components/inputs/color-handle-and-loupe.md
docs/s2-docs/components/inputs/color-handle.md
docs/s2-docs/components/inputs/color-slider.md
docs/s2-docs/components/inputs/color-wheel.md
docs/s2-docs/components/inputs/combo-box.md
docs/s2-docs/components/inputs/date-picker.md
docs/s2-docs/components/inputs/drop-zone.md
docs/s2-docs/components/inputs/field-label.md
docs/s2-docs/components/inputs/help-text.md
docs/s2-docs/components/inputs/number-field.md
docs/s2-docs/components/inputs/picker.md
docs/s2-docs/components/inputs/radio-button.md
docs/s2-docs/components/inputs/radio-group.md
docs/s2-docs/components/inputs/rating.md
docs/s2-docs/components/inputs/search-field.md
docs/s2-docs/components/inputs/segmented-control.md
docs/s2-docs/components/inputs/select-box.md
docs/s2-docs/components/inputs/slider.md
docs/s2-docs/components/inputs/swatch-group.md
docs/s2-docs/components/inputs/swatch.md
docs/s2-docs/components/inputs/switch.md
docs/s2-docs/components/inputs/tag-field.md
docs/s2-docs/components/inputs/tag-group.md
docs/s2-docs/components/inputs/tag.md
docs/s2-docs/components/inputs/text-area.md
docs/s2-docs/components/inputs/text-field.md
docs/s2-docs/components/inputs/thumbnail.md
docs/s2-docs/components/navigation/accordion.md
docs/s2-docs/components/navigation/breadcrumbs.md
docs/s2-docs/components/navigation/side-navigation.md
docs/s2-docs/components/navigation/tabs.md
docs/s2-docs/components/navigation/tree-view.md
docs/s2-docs/components/status/avatar-group.md
docs/s2-docs/components/status/avatar.md
docs/s2-docs/components/status/badge.md
docs/s2-docs/components/status/meter.md
docs/s2-docs/components/status/progress-bar.md
docs/s2-docs/components/status/progress-circle.md
docs/s2-docs/components/status/status-light.md
docs/s2-docs/components/status/steplist.md
docs/s2-docs/designing/app-frame-content-area.md
docs/s2-docs/designing/app-frame-creating-bluelines.md
docs/s2-docs/designing/app-frame-header.md
docs/s2-docs/designing/app-frame-overview.md
docs/s2-docs/designing/app-frame-side-navigation.md
docs/s2-docs/designing/attention-hierarchy.md
docs/s2-docs/designing/background-layers.md
docs/s2-docs/designing/brand.md
docs/s2-docs/designing/colors.md
docs/s2-docs/designing/containers.md
docs/s2-docs/designing/fonts.md
docs/s2-docs/designing/grays.md
docs/s2-docs/designing/icon-fundamentals.md
docs/s2-docs/designing/illustrations.md
docs/s2-docs/designing/motion.md
docs/s2-docs/designing/object-styles.md
docs/s2-docs/designing/s2-app-frame-content-area-browsing-context.md
docs/s2-docs/designing/s2-app-frame-creating-bluelines-browsing-context.md
docs/s2-docs/designing/s2-app-frame-header-browsing-context.md
docs/s2-docs/designing/s2-app-frame-side-navigation-browsing-context.md
docs/s2-docs/designing/s2-app-frame.md
docs/s2-docs/designing/spacing.md
docs/s2-docs/designing/states.md
docs/s2-docs/designing/typography-fundamentals.md
docs/s2-docs/designing/using-icons.md
docs/s2-docs/developing/developer-overview.md
docs/s2-docs/fundamentals/home.md
docs/s2-docs/fundamentals/introduction.md
docs/s2-docs/fundamentals/principles.md
docs/s2-docs/support/faqs.md
docs/s2-docs/support/resources.md
tools/markdown-generator/output/components/accordion.md
tools/markdown-generator/output/components/action-bar.md
tools/markdown-generator/output/components/action-button.md
tools/markdown-generator/output/components/action-group.md
tools/markdown-generator/output/components/alert-banner.md
tools/markdown-generator/output/components/alert-dialog.md
tools/markdown-generator/output/components/avatar-group.md
tools/markdown-generator/output/components/avatar.md
tools/markdown-generator/output/components/badge.md
tools/markdown-generator/output/components/body.md
tools/markdown-generator/output/components/bottom-navigation-android.md
tools/markdown-generator/output/components/breadcrumbs.md
tools/markdown-generator/output/components/button-group.md
tools/markdown-generator/output/components/button.md
tools/markdown-generator/output/components/calendar.md
tools/markdown-generator/output/components/cards.md
tools/markdown-generator/output/components/checkbox-group.md
tools/markdown-generator/output/components/checkbox.md
tools/markdown-generator/output/components/close-button.md
tools/markdown-generator/output/components/coach-indicator.md
tools/markdown-generator/output/components/coach-mark.md
tools/markdown-generator/output/components/code.md
tools/markdown-generator/output/components/color-area.md
tools/markdown-generator/output/components/color-handle.md
tools/markdown-generator/output/components/color-loupe.md
tools/markdown-generator/output/components/color-slider.md
tools/markdown-generator/output/components/color-wheel.md
tools/markdown-generator/output/components/combo-box.md
tools/markdown-generator/output/components/contextual-help.md
tools/markdown-generator/output/components/date-picker.md
tools/markdown-generator/output/components/detail.md
tools/markdown-generator/output/components/divider.md
tools/markdown-generator/output/components/drop-zone.md
tools/markdown-generator/output/components/field-label.md
tools/markdown-generator/output/components/heading.md
tools/markdown-generator/output/components/help-text.md
tools/markdown-generator/output/components/illustrated-message.md
tools/markdown-generator/output/components/in-field-progress-button.md
tools/markdown-generator/output/components/in-field-progress-circle.md
tools/markdown-generator/output/components/in-line-alert.md
tools/markdown-generator/output/components/link.md
tools/markdown-generator/output/components/list-view.md
tools/markdown-generator/output/components/menu.md
tools/markdown-generator/output/components/meter.md
tools/markdown-generator/output/components/number-field.md
tools/markdown-generator/output/components/opacity-checkerboard.md
tools/markdown-generator/output/components/picker.md
tools/markdown-generator/output/components/popover.md
tools/markdown-generator/output/components/progress-bar.md
tools/markdown-generator/output/components/progress-circle.md
tools/markdown-generator/output/components/radio-button.md
tools/markdown-generator/output/components/radio-group.md
tools/markdown-generator/output/components/rating.md
tools/markdown-generator/output/components/scroll-zoom-bar.md
tools/markdown-generator/output/components/search-field.md
tools/markdown-generator/output/components/segmented-control.md
tools/markdown-generator/output/components/select-box.md
tools/markdown-generator/output/components/side-navigation.md
tools/markdown-generator/output/components/slider.md
tools/markdown-generator/output/components/standard-dialog.md
tools/markdown-generator/output/components/standard-panel.md
tools/markdown-generator/output/components/status-light.md
tools/markdown-generator/output/components/steplist.md
tools/markdown-generator/output/components/swatch-group.md
tools/markdown-generator/output/components/swatch.md
tools/markdown-generator/output/components/switch.md
tools/markdown-generator/output/components/tab-bar-ios.md
tools/markdown-generator/output/components/table.md
tools/markdown-generator/output/components/tabs.md
tools/markdown-generator/output/components/tag-field.md
tools/markdown-generator/output/components/tag-group.md
tools/markdown-generator/output/components/tag.md
tools/markdown-generator/output/components/takeover-dialog.md
tools/markdown-generator/output/components/text-area.md
tools/markdown-generator/output/components/text-field.md
tools/markdown-generator/output/components/thumbnail.md
tools/markdown-generator/output/components/toast.md
tools/markdown-generator/output/components/tooltip.md
tools/markdown-generator/output/components/tray.md
tools/markdown-generator/output/components/tree-view.md
tools/markdown-generator/output/registry/anatomy-terms.md
tools/markdown-generator/output/registry/categories.md
tools/markdown-generator/output/registry/components.md
tools/markdown-generator/output/registry/glossary.md
tools/markdown-generator/output/registry/navigation-terms.md
tools/markdown-generator/output/registry/platforms.md
tools/markdown-generator/output/registry/scale-values.md
tools/markdown-generator/output/registry/sizes.md
tools/markdown-generator/output/registry/states.md
tools/markdown-generator/output/registry/token-terminology.md
tools/markdown-generator/output/registry/variants.md
tools/markdown-generator/output/tokens/color-aliases.md
tools/markdown-generator/output/tokens/color-component.md
tools/markdown-generator/output/tokens/color-palette.md
tools/markdown-generator/output/tokens/icons.md
tools/markdown-generator/output/tokens/layout-component.md
tools/markdown-generator/output/tokens/layout.md
tools/markdown-generator/output/tokens/semantic-color-palette.md
tools/markdown-generator/output/tokens/typography.md
tools/s2-docs-transformer/README.md
tools/s2-docs-transformer/ava.config.js
tools/s2-docs-transformer/moon.yml
tools/s2-docs-transformer/package.json
tools/s2-docs-transformer/scripts/fix-yaml-frontmatter.js
tools/s2-docs-transformer/test/yaml-frontmatter.test.js

@GarthDB GarthDB merged commit ac66678 into main Feb 12, 2026
4 checks passed
@GarthDB GarthDB deleted the fix/s2-docs-yaml-frontmatter branch February 12, 2026 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant