Skip to content

Docs: 11ty site, markdown generator, remove spectrum-glossary#696

Merged
GarthDB merged 17 commits intomainfrom
spectrum-design-data-docs
Feb 13, 2026
Merged

Docs: 11ty site, markdown generator, remove spectrum-glossary#696
GarthDB merged 17 commits intomainfrom
spectrum-design-data-docs

Conversation

@GarthDB
Copy link
Member

@GarthDB GarthDB commented Feb 12, 2026

Summary

Implements the docs rebuild plan:

  • Markdown generator (tools/markdown-generator/): Converts tokens, component-schemas, and design-system-registry into markdown with frontmatter. Outputs to output/components/, output/tokens/, output/registry/. Token docs include named anchors, alias linking, resolved values, deprecation, and "Replaced by" links for renamed tokens.

  • 11ty site (replaces Next.js in docs/site/): Scaffolded from adobe/11ty-starter. Custom layouts for component, token-group, and registry pages. Collections and navigation for Components, Tokens, Registry, Tools. Build pipeline: markdown-generator:generatesite:copyContentsite:buildsite:export.

  • Orphan branch docs-markdown: New workflow .github/workflows/publish-markdown.yml publishes generated markdown to docs-markdown for chatbot/indexing. Triggers on push to main, after Release, or workflow_dispatch.

  • Remove spectrum-glossary: Deleted docs/spectrum-glossary/. Registry/glossary content now served from 11ty under /registry/.

  • Deploy workflow: Updated .github/workflows/deploy-docs.yml — clean site dir, run markdown-generator, then site:export (11ty); removed spectrum-glossary:export. Other apps (visualizer, s2-visualizer, viewer, release-timeline) unchanged.

  • Token validation: New AVA tests in packages/tokens/test/: checkRenamed.test.js (renamed values must reference existing tokens), checkAliasReferences.test.js (alias refs {token-name} must resolve to existing tokens).

  • Viewer prepare: Replaced shell mkdir/cp in docs/s2-tokens-viewer with Node script scripts/prepare.mjs to avoid failures under moon.

  • 11ty fixes: setUseGitIgnore(false) so generated .md in components/tokens/registry are processed; collection globs use src/ prefix; YAML frontmatter (---) on page templates; lint-staged skips docs/site/src/ for remark; copy-content.js creates destination dirs with mkdirSync; copyContent task uses platform: node.

Made with Cursor

GarthDB and others added 9 commits February 11, 2026 19:45
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…site

Co-authored-by: Cursor <cursoragent@cursor.com>
…anch

Co-authored-by: Cursor <cursoragent@cursor.com>
…ry step

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
- 11ty: setUseGitIgnore(false) so generated .md are processed
- 11ty: use src/ prefix in collection globs (relative to project root)
- Fix frontmatter delimiters (---) on all page templates for permalinks
- viewer: replace shell prepare with Node script to avoid mkdir failure under moon
- Remove spectrum-glossary from .moon/workspace.yml

Co-authored-by: Cursor <cursoragent@cursor.com>
…docs/site/src

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

changeset-bot bot commented Feb 12, 2026

⚠️ No Changeset found

Latest commit: 016ddc3

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 016ddc31

Total time: 1m 16s | Comparison time: 3m 5s | Estimated savings: 1m 49s (58.8% faster)

Action Time Status Info
⬛️ SetupProto(0.51.4) 0ms Skipped
🟩 SyncWorkspace 7.2ms Passed
🟩 SyncProject(optimized-diff) 0.8ms Passed
🟩 SyncProject(release-analyzer) 0.8ms Passed
🟩 SyncProject(s2-visualizer) 0.9ms Passed
🟩 SyncProject(componentSchemas) 1ms Passed
🟩 SyncProject(visualizer) 0.3ms Passed
🟩 SyncProject(release-timeline) 0.3ms Passed
🟩 SyncProject(design-system-registry) 0.4ms Passed
🟩 SyncProject(spectrum-diff-core) 0.5ms Passed
🟩 SyncProject(tokens) 0.4ms Passed
🟩 SyncProject(component-diff-generator) 0.4ms Passed
🟩 SyncProject(spectrum-design-data-mcp) 0.3ms Passed
🟩 SyncProject(markdown-generator) 0.3ms Passed
🟩 SyncProject(viewer) 0.3ms Passed
🟩 SyncProject(csvGenerator) 0.3ms Passed
🟩 SyncProject(component-options-editor) 0.4ms Passed
🟩 SyncProject(token-diff-generator) 0.4ms Passed
🟩 SyncProject(site) 0.3ms Passed
🟩 RunTask(release-timeline:clean) 43.5ms Passed
And 41 more...
Expanded report
Action Time Status Info
🟩 RunTask(viewer:clean) 42.6ms Passed
⬛️ SetupToolchain(node:20.17.0) 1.6s Skipped
🟩 InstallWorkspaceDeps(node:20.17.0) 8.6s Passed
🟩 RunTask(design-system-registry:test) 2.2s Passed
🟩 RunTask(visualizer:typescript) 4.6s Passed
🟩 RunTask(component-options-editor:lint) 10.5s Passed
🟩 RunTask(component-diff-generator:test) 3.6s Passed
🟩 RunTask(token-diff-generator:test) 9.8s Passed
🟩 RunTask(csvGenerator:test) 1.8s Passed
🟩 RunTask(release-timeline:updateData) 1.4s Passed
🟩 RunTask(tokens:buildManifest) 358.3ms Passed
🟩 RunTask(spectrum-diff-core:test) 2.9s Passed
🟩 RunTask(component-options-editor:type-check) 7.9s Passed
🟩 RunTask(release-analyzer:test) 2.2s Passed
🟩 RunTask(design-system-registry:validate) 291.6ms Passed
🟩 RunTask(componentSchemas:test) 4.9s Passed
🟩 RunTask(spectrum-design-data-mcp:test) 2.8s Passed
🟩 RunTask(component-options-editor:test) 11.1s Passed
🟩 RunTask(s2-visualizer:typescript) 4.4s Passed
🟩 RunTask(csvGenerator:generateCSV) 271.7ms Passed
🟩 RunTask(optimized-diff:test) 1.8s Passed
🟩 RunTask(component-diff-generator:ci) 18.4ms Passed
🟩 RunTask(component-diff-generator:diff) 365.3ms Passed
🟩 RunTask(token-diff-generator:diff) 313.7ms Passed
🟩 RunTask(token-diff-generator:ci) 18.9ms Passed
🟩 RunTask(visualizer:build) 3.5s Passed
🟩 RunTask(spectrum-diff-core:ci) 11.1ms Passed
🟩 RunTask(release-timeline:build) 2.4s Passed
🟩 RunTask(s2-visualizer:build) 3.6s Passed
🟩 RunTask(component-options-editor:build) 40.9s Passed
🟩 RunTask(optimized-diff:benchmark) 597.6ms Passed
🟩 RunTask(component-options-editor:validate) 11.4s Passed
🟩 RunTask(tokens:buildTokens) 1m 2s Passed
🟩 RunTask(tokens:build) 12.6ms Passed
🟩 RunTask(viewer:prepare) 127.3ms Passed
🟩 RunTask(viewer:export) 79.6ms Passed
🟩 RunTask(markdown-generator:generate) 355.5ms Passed
🟩 RunTask(site:copyContent) 102.9ms Passed
🟩 RunTask(tokens:test) 4s Passed
🟩 RunTask(site:build) 3.6s Passed
🟩 RunTask(site:export) 7.7ms Passed
Touched files
.cursor/mcp.json
.github/workflows/deploy-docs.yml
.lintstagedrc.js
.moon/workspace.yml
docs/markdown/README.md
docs/markdown/components/accordion.md
docs/markdown/components/action-bar.md
docs/markdown/components/action-button.md
docs/markdown/components/action-group.md
docs/markdown/components/alert-banner.md
docs/markdown/components/alert-dialog.md
docs/markdown/components/avatar-group.md
docs/markdown/components/avatar.md
docs/markdown/components/badge.md
docs/markdown/components/body.md
docs/markdown/components/bottom-navigation-android.md
docs/markdown/components/breadcrumbs.md
docs/markdown/components/button-group.md
docs/markdown/components/button.md
docs/markdown/components/calendar.md
docs/markdown/components/cards.md
docs/markdown/components/checkbox-group.md
docs/markdown/components/checkbox.md
docs/markdown/components/close-button.md
docs/markdown/components/coach-indicator.md
docs/markdown/components/coach-mark.md
docs/markdown/components/code.md
docs/markdown/components/color-area.md
docs/markdown/components/color-handle.md
docs/markdown/components/color-loupe.md
docs/markdown/components/color-slider.md
docs/markdown/components/color-wheel.md
docs/markdown/components/combo-box.md
docs/markdown/components/contextual-help.md
docs/markdown/components/date-picker.md
docs/markdown/components/detail.md
docs/markdown/components/divider.md
docs/markdown/components/drop-zone.md
docs/markdown/components/field-label.md
docs/markdown/components/heading.md
docs/markdown/components/help-text.md
docs/markdown/components/illustrated-message.md
docs/markdown/components/in-field-progress-button.md
docs/markdown/components/in-field-progress-circle.md
docs/markdown/components/in-line-alert.md
docs/markdown/components/link.md
docs/markdown/components/list-view.md
docs/markdown/components/menu.md
docs/markdown/components/meter.md
docs/markdown/components/number-field.md
docs/markdown/components/opacity-checkerboard.md
docs/markdown/components/picker.md
docs/markdown/components/popover.md
docs/markdown/components/progress-bar.md
docs/markdown/components/progress-circle.md
docs/markdown/components/radio-button.md
docs/markdown/components/radio-group.md
docs/markdown/components/rating.md
docs/markdown/components/scroll-zoom-bar.md
docs/markdown/components/search-field.md
docs/markdown/components/segmented-control.md
docs/markdown/components/select-box.md
docs/markdown/components/side-navigation.md
docs/markdown/components/slider.md
docs/markdown/components/standard-dialog.md
docs/markdown/components/standard-panel.md
docs/markdown/components/status-light.md
docs/markdown/components/steplist.md
docs/markdown/components/swatch-group.md
docs/markdown/components/swatch.md
docs/markdown/components/switch.md
docs/markdown/components/tab-bar-ios.md
docs/markdown/components/table.md
docs/markdown/components/tabs.md
docs/markdown/components/tag-field.md
docs/markdown/components/tag-group.md
docs/markdown/components/tag.md
docs/markdown/components/takeover-dialog.md
docs/markdown/components/text-area.md
docs/markdown/components/text-field.md
docs/markdown/components/thumbnail.md
docs/markdown/components/toast.md
docs/markdown/components/tooltip.md
docs/markdown/components/tray.md
docs/markdown/components/tree-view.md
docs/markdown/registry/anatomy-terms.md
docs/markdown/registry/categories.md
docs/markdown/registry/components.md
docs/markdown/registry/glossary.md
docs/markdown/registry/navigation-terms.md
docs/markdown/registry/platforms.md
docs/markdown/registry/scale-values.md
docs/markdown/registry/sizes.md
docs/markdown/registry/states.md
docs/markdown/registry/token-terminology.md
docs/markdown/registry/variants.md
docs/markdown/tokens/color-aliases.md
docs/markdown/tokens/color-component.md
docs/markdown/tokens/color-palette.md
docs/markdown/tokens/icons.md
docs/markdown/tokens/layout-component.md
docs/markdown/tokens/layout.md
docs/markdown/tokens/semantic-color-palette.md
docs/markdown/tokens/typography.md
docs/s2-tokens-viewer/moon.yml
docs/s2-tokens-viewer/scripts/prepare.mjs
docs/site/.gitignore
docs/site/README.md
docs/site/components/layout.js
docs/site/config/plugins/css-config.js
docs/site/eleventy.config.js
docs/site/lib/components.js
docs/site/lib/tokens.js
docs/site/moon.yml
docs/site/next.config.js
docs/site/package.json
docs/site/pages/_app.js
docs/site/pages/_document.js
docs/site/pages/components/[slug].js
docs/site/pages/index.js
docs/site/pages/tokens/index.js
docs/site/scripts/copy-content.js
docs/site/src/assets/css/base/index.css
docs/site/src/assets/css/base/reset.css
docs/site/src/assets/css/base/vars.css
docs/site/src/assets/css/global/global.css
docs/site/src/assets/css/index.css
docs/site/src/components/components.json
docs/site/src/data/meta.js
docs/site/src/data/navigation.js
docs/site/src/includes/layout/footer.liquid
docs/site/src/includes/layout/header.liquid
docs/site/src/includes/nav/menu.liquid
docs/site/src/layouts/base.liquid
docs/site/src/layouts/component.liquid
docs/site/src/layouts/registry.liquid
docs/site/src/layouts/token-group.liquid
docs/site/src/pages/404.md
docs/site/src/pages/ai.md
docs/site/src/pages/components/index.md
docs/site/src/pages/index.md
docs/site/src/pages/registry/index.md
docs/site/src/pages/tokens/index.md
docs/site/src/registry/registry.json
docs/site/src/tokens/tokens.json
docs/site/styles/global.css
docs/site/styles/utils.module.css
docs/spectrum-glossary/.eleventy.js
docs/spectrum-glossary/.gitignore
docs/spectrum-glossary/BUILD_SUMMARY.md
docs/spectrum-glossary/CHANGELOG.md
docs/spectrum-glossary/DEPLOYMENT_INTEGRATION.md
docs/spectrum-glossary/README.md
docs/spectrum-glossary/moon.yml
docs/spectrum-glossary/package.json
docs/spectrum-glossary/scripts/build-api.js
docs/spectrum-glossary/scripts/build-search-index.js
docs/spectrum-glossary/scripts/export-to-site.sh
docs/spectrum-glossary/src/_data/basePath.js
docs/spectrum-glossary/src/_data/meta.js
docs/spectrum-glossary/src/_data/navigation.js
docs/spectrum-glossary/src/_data/registry.js
docs/spectrum-glossary/src/_includes/components/footer.njk
docs/spectrum-glossary/src/_includes/components/header.njk
docs/spectrum-glossary/src/_includes/components/related-terms.njk
docs/spectrum-glossary/src/_includes/components/search.njk
docs/spectrum-glossary/src/_includes/components/term-card.njk
docs/spectrum-glossary/src/_includes/layouts/base.njk
docs/spectrum-glossary/src/assets/css/index.css
docs/spectrum-glossary/src/assets/js/filters.js
docs/spectrum-glossary/src/assets/js/search.js
docs/spectrum-glossary/src/assets/js/theme.js
docs/spectrum-glossary/src/categories/categories.njk
docs/spectrum-glossary/src/index.njk
docs/spectrum-glossary/src/terms/terms.njk
package.json
packages/tokens/test/checkAliasReferences.test.js
packages/tokens/test/checkRenamed.test.js
pnpm-lock.yaml
tools/markdown-generator/.gitignore
tools/markdown-generator/README.md
tools/markdown-generator/ava.config.js
tools/markdown-generator/moon.yml
tools/markdown-generator/package.json
tools/markdown-generator/src/components.js
tools/markdown-generator/src/index.js
tools/markdown-generator/src/registry.js
tools/markdown-generator/src/token-resolver.js
tools/markdown-generator/src/tokens.js
tools/markdown-generator/test/components.test.js
tools/markdown-generator/test/registry.test.js
tools/markdown-generator/test/token-resolver.test.js
tools/markdown-generator/test/tokens.test.js

GarthDB added a commit that referenced this pull request Feb 12, 2026
Add GitHub Actions workflow to publish docs/s2-docs markdown files to
a docs-markdown orphan branch for chatbot indexing. This is Phase 1
of publishing markdown content - Phase 2 will add markdown-generator
output alongside s2-docs content in PR #696.
GarthDB added a commit that referenced this pull request Feb 12, 2026
…#701)

* fix(s2-docs): fix YAML frontmatter syntax errors and improve validation

- Add js-yaml dependency to actually parse YAML and catch syntax errors
- Fix improperly indented field names (related_components, parent_category)
- Fix escaped underscores in field names
- Update validation to catch YAML parsing errors before other checks
- Fixed 86 markdown files with YAML frontmatter issues

* feat(docs): add workflow to publish s2-docs markdown to orphan branch

Add GitHub Actions workflow to publish docs/s2-docs markdown files to
a docs-markdown orphan branch for chatbot indexing. This is Phase 1
of publishing markdown content - Phase 2 will add markdown-generator
output alongside s2-docs content in PR #696.
GarthDB and others added 8 commits February 12, 2026 15:27
Add documentation for the 11ty site and markdown generator, AVA test
configuration, and tests covering components, tokens, registry, and
token-resolver modules.

Co-authored-by: Cursor <cursoragent@cursor.com>
- Output markdown to docs/markdown/ (committed) instead of orphan branch
- Add README in docs/markdown/ stating files are generated
- Update markdown-generator to write to docs/markdown, add Moon deps
- Update site copy-content to read from docs/markdown
- Remove publish-markdown.yml workflow
- Clear markdown-generator .gitignore (no local output dir)
- Skip docs/markdown/ in lint-staged (generated files)

Co-authored-by: Cursor <cursoragent@cursor.com>
- Add PostCSS with postcss-import to resolve @spectrum-css imports
- Add build:css script to compile CSS before Eleventy
- Import full component CSS (index.css) for page and sidenav
- Remove manual pathPrefix from layout and pages (HtmlBasePlugin adds it)
- Output built CSS to site.css (gitignored)
- Fixes stylesheet 404 and unstyled site in local dev

Co-authored-by: Cursor <cursoragent@cursor.com>
Path should be ../markdown from docs/site, not ../../markdown

Co-authored-by: Cursor <cursoragent@cursor.com>
The {% for %} loop over navigation.top was rendering hundreds of times
instead of once, causing massive navigation duplication. Hard-coding the
8 navigation links works correctly. This appears to be an Eleventy/Liquid
template processing bug with global data iteration.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@GarthDB GarthDB force-pushed the spectrum-design-data-docs branch from efedcd0 to 016ddc3 Compare February 13, 2026 00:50
@GarthDB GarthDB merged commit 6436b3a into main Feb 13, 2026
3 checks passed
@GarthDB GarthDB deleted the spectrum-design-data-docs branch February 13, 2026 00:52
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