Component Documentation
This directory contains comprehensive documentation for all React components in the project.
Structure
Components are organized using Atomic Design principles, a methodology for creating design systems:
- atoms/ - Basic, indivisible UI elements (buttons, icons, typography, etc.)
- molecules/ - Simple combinations of atoms (search bars, tags, cards, etc.)
- organisms/ - Complex components composed of molecules and atoms (headers, footers, sections, etc.)
- layout/ - Layout-specific components (navigation components, theme-aware logos, etc.)
- pages/ - Page-level components that compose organisms
- system/ - System-level components (error boundaries, renderers)
- cards/ - Specialized card components (search result cards)
Platform Docs
- Public API - Public JSON API quickstart and endpoint reference
- Architecture - High-level architecture and data flow
Atomic Design Explained
Atoms
The most basic building blocks. These are fundamental UI elements that cannot be broken down further:
Button- Basic button element with variantsIcons- Icon componentMediaItem- Image/media elementTitle- Typography componentRichTextRenderer- Text renderingYouTubeVideo- YouTube video embed componentCodeBlock- Syntax-highlighted code blockCodeBlockWithCopy- Code block with copy-to-clipboardCopyButton- Copy-to-clipboard buttonDateDisplay- Date displayReadingTime- Reading time estimationJsonLd- MetadataSidebar- Layout wrapper
Molecules
Combinations of atoms that form simple, reusable functional units:
SearchBar- Input + Icon atomSearchSidebar- Filter sidebar (content type, subjects, technology, person)HeaderSearch- Search with typeahead suggestionsTaxonomyTags- Subject tags with button stylingTechnologyTags- Technology terms with iconsAuthorCard- MediaItem + Link atomsAuthorLinks- List of author external linksBreadcrumb- Multiple Link atomsChapterNavigation- Guide chapter sidebar navigationChapterPagination- Previous/next chapter cardsContentTaxonomies- Technology + subject termsKickstarterLinks- Kickstart resource linksNoticesSection- Notices from additional_itemsTableOfContents- H2 table of contentsCta- Button atom wrapped in LinkFAQ- Title atom + accordion structureNotice- Alert/notice componentCanonical- Canonical link attribution
Organisms
Larger, more complex components composed of molecules and/or atoms:
AdditionalItemsSection- FAQ and Related Items from additional_itemsPersons- Multiple AuthorCard moleculesContentActions- Copy for LLM and markdown viewDefaultCard- MediaItem + Title + TaxonomyTagsIconCard- MediaItem + Title atomsHeader- AnnouncementBar + MainNavigation organismsMainNavigation- DesktopNavigation + MobileNavigationFooter- Server component that renders FooterClientFooterClient- Client-side footer with accordions and Live PreviewAnnouncementBar- Links + utility navigationHero- Title + RichTextRenderer + SearchBar + CtaList- Title + RichTextRenderer + Cards (DefaultCard/IconCard)Media- MediaItem atomRichText- Title + RichTextRenderer atomTwoColumn- Two-column layout with nested ComponentsRenderer
Dependency Rules
- Atoms should never depend on molecules or organisms
- Molecules should only depend on atoms
- Organisms can depend on molecules, atoms, and other organisms
- Pages compose organisms to create complete page layouts
Quick Links
Atoms
- Button
- Icons
- MediaItem
- Title
- RichTextRenderer
- YouTubeVideo
- CodeBlock
- CodeBlockWithCopy
- CopyButton
- DateDisplay
- ReadingTime
- JsonLd
- Sidebar
Molecules
- AuthorCard
- AuthorLinks
- Breadcrumb
- Canonical
- ChapterNavigation
- ChapterPagination
- ContentTaxonomies
- Cta
- DocsNavSidebar
- FAQ
- FilterCheckbox
- HeaderSearch
- KickstarterLinks
- ListFilters
- Notice
- NoticesSection
- Pagination
- SearchBar
- SearchSidebar
- TableOfContents
- TaxonomyTags
- TechnologyTags
Organisms
- AdditionalItemsSection
- ContentActions
- DefaultCard
- IconCard
- Persons
- Header
- MainNavigation
- Footer
- FooterClient
- AnnouncementBar
- Hero
- List
- Media
- RichText
- TwoColumn
Layout
Pages
System
- AgentMetadata - Metadata endpoints for crawlers and agents
- CachePriming - Build-time cache priming for launch.json
- ClientErrorBoundary
- ComponentsRenderer
- ErrorBoundary
- HeaderProvider - React context for header data
- MarkdownRenderer - Markdown renderer for docs pages
- MarkdownRoutes - Markdown output routes and content negotiation
- OgImageFallback - Automatic OG fallback image generator
- ScrollToTop - Scroll to top on route changes
Cards
- SearchResultCard - Compact card for search typeahead