Skip to main content
SubZeroDev

Professional uncertainty since 2026.

Wellโ€ฆ Why not?


๐Ÿ“Š Projects Component

Showcase your projects with advanced filtering, search, categorization, and multiple data loading options. Perfect for portfolios, documentation sites, and project galleries.

๐Ÿ”„ Data Loading Options

๐Ÿ“ Static Data Loading

Projects loaded from static JSON/YAML files. Best for:

  • Personal portfolios
  • Static documentation sites
  • Small to medium project collections
  • Fast loading and offline support
๐ŸŽฏ Live Projects Available! The interactive Projects component is running live at /projects with real data. See real-time data loading and filtering in action! This demo shows the configuration and usage patterns.

โšก Component Features

๐Ÿ” Search & Filtering

  • โœ… Real-time text search across all fields
  • โœ… Category-based filtering
  • โœ… Tag-based filtering
  • โœ… Status filtering (Active, Development, Archived)
  • โœ… Featured projects highlighting

๐ŸŽจ Display Options

  • โœ… Grid and list view options
  • โœ… Responsive design
  • โœ… Customizable card layouts
  • โœ… Theme-aware styling
  • โœ… Loading states and error handling

โš™๏ธ Configuration Options

Basic Configuration

import Projects from '@site/src/components/Projects';

// Static data example
<Projects 
  projectsData={staticProjectsData}
  enableSearch={true}
  enableFiltering={true}
  showCategories={true}
  gridColumns={3}
/>

// HTTP API example
<Projects 
  apiEndpoint="/api/projects"
  fallbackToStatic={true}
  cacheTimeout={300000} // 5 minutes
  enableSearch={true}
  enableFiltering={true}
/>

// Minimal configuration
<Projects projectsData={projects} />

Data Schema (projects.yml)

projects:
  - id: "project-id"
    name: "Project Name"
    description: "Project description"
    url: "https://github.com/user/repo"
    tags: ["React", "TypeScript"]
    category: "library"
    featured: true
    status: "active"
    # ... more fields

๐Ÿ”— Integration & Documentation

Learn more about implementing and customizing the Projects component