docs-v2/docs/plans
Jason Stirnaman f5535c9d5c feat(api): Hugo-native API reference rendering
Hugo-native templates for API
reference documentation. Operations render as server-side HTML instead
of client-side Redoc, providing faster page loads, full SEO
indexability, and consistent styling.

Architecture:
- Tag-based navigation: operations grouped by OpenAPI tag, accessed
  via tag pages only (no individual operation URLs)
- Generation script auto-discovers products from .config.yml files,
  deriving Hugo paths and menu keys from directory structure
- Per-tag JSON/YAML chunks for fast Hugo template rendering
- Inline curl examples generated from OpenAPI specs at build time

Templates (layouts/api/, layouts/partials/api/):
- tag-renderer.html: renders all operations for a tag
- operation.html: individual operation with parameters, request body,
  responses, and schema rendering
- code-sample.html: curl examples with Ask AI integration
- section-children.html: tag listing on section index pages
- all-endpoints-list.html: all operations sorted by path

Generation (api-docs/scripts/generate-openapi-articles.ts):
- Auto-discovery from .config.yml replaces hardcoded productConfigs
- Each API section generates independently (no cross-spec merging)
- Frontmatter-driven template data (specDownloadPath, articleDataKey)
- Link transformation: /influxdb/version/ placeholders resolved to
  product-specific paths

Removed:
- Redoc renderer, JavaScript components, and CSS
- Shadow DOM test infrastructure (~160 lines)
- Operation page generation (dead generatePathPages function)
- mergeArticleData() and slugifyDisplayName()

Styles (assets/styles/layouts/_api-*.scss):
- 3-column layout: sidebar, content, sticky TOC
- Theme-aware code blocks for curl examples
- Method badges (GET/POST/PUT/DELETE) with color coding
- Collapsible schema sections with depth tracking

Tests (cypress/e2e/content/api-reference.cy.js):
- Tag page rendering with operation structure
- Download button verification per section
- All-endpoints page with operation cards
- Related links from x-related OpenAPI extension
- Code sample and Ask AI link validation
2026-03-15 22:17:33 -05:00
..
2025-02-06-clustered-cloud-dedicated-api-structure-design.md feat(api): Hugo-native API reference rendering 2026-03-15 22:17:33 -05:00
2026-01-07-api-reference-rapidoc-migration.md feat(api): Hugo-native API reference rendering 2026-03-15 22:17:33 -05:00
2026-01-21-api-tag-pages-design.md feat(api): Hugo-native API reference rendering 2026-03-15 22:17:33 -05:00
2026-02-04-api-link-migration-design.md feat(api): Hugo-native API reference rendering 2026-03-15 22:17:33 -05:00
2026-02-04-api-link-migration-implementation.md feat(api): Hugo-native API reference rendering 2026-03-15 22:17:33 -05:00
2026-02-04-v1-api-deduplication-design.md feat(api): Hugo-native API reference rendering 2026-03-15 22:17:33 -05:00
2026-02-13-hugo-native-api-migration.md feat(api): Hugo-native API reference rendering 2026-03-15 22:17:33 -05:00
2026-02-17-api-clean-regeneration-design.md feat(api): Hugo-native API reference rendering 2026-03-15 22:17:33 -05:00
2026-02-17-api-clean-regeneration-implementation.md feat(api): Hugo-native API reference rendering 2026-03-15 22:17:33 -05:00
2026-03-07-api-code-samples-design.md feat(api): Hugo-native API reference rendering 2026-03-15 22:17:33 -05:00
2026-03-09-api-docs-uplift-design.md refactor(api-docs): flatten v3 dirs, rewrite build pipeline, add --static-only mode 2026-03-11 17:02:18 -05:00
TESTING.md feat(api): Hugo-native API reference rendering 2026-03-15 22:17:33 -05:00
plan-issue-6939.md test(api-docs): align post-process outputs (#6942) 2026-03-13 17:30:39 -05:00