Overview
GitFolio templates are pre-built React components that transform your GitHub data into beautiful portfolio websites. Each template is a self-contained package that receives standardized user data and renders a unique portfolio design.Template Architecture
Templates in GitFolio follow a modular, component-based architecture built with React, TypeScript, and Tailwind CSS.Core Structure
Every template lives in thepackages/templates/src/Templates/ directory and follows this structure:
The DATA Interface
All templates receive a standardizedDATA object from @workspace/types that contains:
The
DATA interface ensures all templates have access to the same user information, making templates interchangeable.Template Component Pattern
Every template exports a default React component that follows this pattern:packages/templates/src/Templates/Obsidian/template.tsx
Template Categories
GitFolio offers templates in two categories:All 8 templates are currently free and available to all users. The codebase includes infrastructure for premium templates, but no premium templates have been released yet.
Template Metadata
Each template has metadata defined inpackages/templates/src/metaData.ts:
Theme Support
Templates usenext-themes for dark/light mode switching:
How does theme switching work?
How does theme switching work?
Templates can declare their preferred theme (dark, light, or both) in metadata. The
useTheme hook from next-themes allows components to programmatically set and detect the current theme. Tailwind’s dark mode classes handle the visual changes.Shared Components
Common components shared across templates live inpackages/templates/src/Templates/components/:
mode-toggle.tsx- Theme switcher componentUserTime.tsx- Display user’s local timeSkill.tsx- Skill badge componentAnimatedSection.tsx- Animated section wrapper
Dependencies
Templates leverage these core dependencies:packages/templates/package.json
Dummy Data for Development
All templates useDummyData from packages/templates/src/Templates/dummyData.ts as default data during development:
Dummy data ensures templates render correctly during development before real user data is available.
Next Steps
Browse Templates
Explore all available templates and their features
Create a Template
Learn how to build your own custom template