Skip to content

Enhance docs UX with navigation, feedback, and blog improvements#135

Merged
amavashev merged 6 commits intomainfrom
claude/analyze-vitesite-ux-noHnM
Mar 21, 2026
Merged

Enhance docs UX with navigation, feedback, and blog improvements#135
amavashev merged 6 commits intomainfrom
claude/analyze-vitesite-ux-noHnM

Conversation

@amavashev
Copy link
Contributor

Summary

This PR significantly improves the documentation user experience by adding breadcrumb navigation, page feedback collection, enhanced blog features, and better information architecture. The changes include new Vue components, improved search configuration, reorganized sidebar navigation, and visual enhancements across the site.

Key Changes

Navigation & UX Components

  • Breadcrumb Navigation (Breadcrumb.vue): Added section-aware breadcrumb trails on all documentation pages (except home and blog), helping users understand their location within the docs hierarchy
  • Page Feedback (PageFeedback.vue): New feedback component that appears on documentation pages, allowing users to rate page helpfulness with persistent localStorage tracking. Negative feedback includes a link to open GitHub issues
  • Social Icons (SocialIcons.ts): Extracted X/Twitter and LinkedIn SVG paths as reusable constants for blog sharing

Blog Enhancements

  • Added support for featured posts with a "FEATURED" badge
  • Added optional post thumbnail images displayed in blog cards
  • Enhanced blog card layout with flexbox for better content/image arrangement
  • Improved tag filtering with post count badges
  • Added RSS icon to the RSS feed link
  • Added social sharing buttons with copy-to-clipboard functionality for blog posts
  • Enhanced styling for light mode with better color contrast and borders

Navigation & Information Architecture

  • Reorganized sidebar navigation with collapsible sections:
    • Grouped comparison articles under a collapsible "Comparisons" section
    • Grouped budget patterns under "Budget Patterns" section
    • Grouped tenant/configuration guides under "Tenants and Configuration" section
    • Grouped error handling guides under "Error Handling" section
    • Grouped integrations under "Integrations" section
  • Added "Docs" dropdown menu in main navigation with quick links to major sections
  • Added "Changelog" link to main navigation
  • Improved search configuration with custom translations and boost weights (title: 4x, text: 2x)

Home Page & Content

  • Updated feature icons from emoji to custom SVG icons (rocket, info-circle, wrench, book-text, alert-triangle, settings)
  • Enhanced HomeCodeSnippet component with a proper heading ("Add budget authority in a few lines")
  • Updated hero CTA text from "Try the Demo" to "View Demo on GitHub"
  • Added "Choose your stack" table in quickstart guide with links to language-specific guides
  • Added tip callout directing users to the end-to-end tutorial

Blog Post Data Structure

  • Extended PostData interface with featured boolean and image string fields
  • Updated content loader to extract these new frontmatter fields

Styling Improvements

  • Added light mode specific styles for blog tags, buttons, and badges
  • Improved responsive design for blog cards (hide thumbnails on mobile)
  • Enhanced focus states and keyboard accessibility throughout
  • Better visual hierarchy with improved spacing and typography

Notable Implementation Details

  • Breadcrumb and feedback components use VitePress composables (useRoute, useData) for reactive page context
  • Feedback uses localStorage with try-catch for graceful degradation in restricted environments
  • Blog filtering now displays post counts per tag
  • All new components follow existing design system with CSS custom properties for theming
  • Responsive design maintained across all new features with mobile-first approach

https://claude.ai/code/session_01TF7Pksn82FUivsvg9bm7Rw

claude added 6 commits March 21, 2026 14:48
Navigation & IA:
- Add "Docs" dropdown to navbar with Concepts, How-To, Integrations, Incidents, Configuration
- Sub-group How-To sidebar into Budget Patterns, Tenants & Config, Error Handling
- Consolidate Concepts comparison pages into collapsible sub-section
- Add Changelog link to navbar for visibility

Homepage:
- Add heading "Add budget authority in a few lines" above code snippet
- Replace emoji feature card icons with consistent Lucide SVGs
- Rename "Try the Demo" to "View Demo on GitHub" to set expectations

Blog:
- Add tag post counts to filter buttons (e.g., "engineering (4)")
- Add featured/pinned post support via frontmatter
- Add thumbnail image support for blog cards
- Add SVG icons to share buttons (X, LinkedIn, copy link)
- Add FEATURED badge styling

User Journey:
- Add "Choose your stack" table to What is Cycles page
- Add API Reference onboarding intro with getting-started tip
- Add breadcrumb navigation component for doc pages
- Add page feedback widget (thumbs up/down) with issue link

Accessibility & Mobile:
- Improve mobile tab sizing for code snippet component
- Add light mode CSS enhancements for blog elements
- Hide thumbnails on mobile for cleaner layout
- Improve search config with boost and translations

Content:
- Add callout containers to 7 key pages (architecture, testing,
  security, production ops, error handling, budget patterns, MCP)

https://claude.ai/code/session_01TF7Pksn82FUivsvg9bm7Rw
…re Protocol link

- Breadcrumb.vue: Make section label a clickable link using firstPageMap
  to avoid 404s from generic /{section}/ paths
- PageFeedback.vue: Remove unused `page` import; persist votes to
  localStorage so feedback survives page reloads
- config.ts: Restore Protocol GitHub external link to navbar (was
  accidentally replaced by Changelog link)

https://claude.ai/code/session_01TF7Pksn82FUivsvg9bm7Rw
- Extract 6 feature card SVGs from index.md YAML to /public/icons/*.svg
  for easier maintenance and cleaner frontmatter
- Replace inline SVGs in BlogIndex (RSS), PageFeedback (thumbs up/down)
  with Lucide Vue component imports
- Replace inline copy-link SVG in BlogPost with Lucide Link component
- Extract X/Twitter and LinkedIn brand SVG paths to SocialIcons.ts
  constants (not in Lucide, so kept as path data)

https://claude.ai/code/session_01TF7Pksn82FUivsvg9bm7Rw
…k mode

SVGs loaded via <img> tags cannot resolve CSS currentColor — icons
were rendering black/invisible. Replace stroke="currentColor" with
hardcoded brand teal (#00C9A7) in all 6 feature card icon files.

Also add .dark .blog-featured-badge rule with brighter amber (#fbbf24)
for better contrast on dark backgrounds.

https://claude.ai/code/session_01TF7Pksn82FUivsvg9bm7Rw
Ensures firstPageMap covers all sectionMap keys for consistency.
Blog pages are already excluded from breadcrumbs via frontmatter
check, but the blog index page could theoretically show one.

https://claude.ai/code/session_01TF7Pksn82FUivsvg9bm7Rw
The go() function from useRouter was imported but never called —
the component uses plain <a href> links for navigation instead.

https://claude.ai/code/session_01TF7Pksn82FUivsvg9bm7Rw
@amavashev amavashev merged commit 74fa331 into main Mar 21, 2026
2 checks passed
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.

2 participants