Overview
The GitHub profile README is composed of multiple SVG sections that work together to create a dynamic, animated profile display. Each section serves a specific purpose and can be customized independently.Available Section Types
The project defines four main section types, controlled via URL parameters:1. Top Section
The header section containing menu, contribution count, and branding. URL Parameter:?section=top
src/worker.ts:22-24
Top Section Structure
The top section uses a 6-column grid layout with three main areas:src/render.ts:533-540
Responsive Layout
The top section adapts to different screen sizes: Small screens (< 550px):src/render.ts:506-529
2. Main Section
The primary content area featuring the contribution graph and introduction text. URL Parameter: Default (no section parameter)src/worker.ts:46-89
Main Section Components
- Introduction Text: Animated character-by-character
- Contribution Graph: Scrolling year-based activity visualization
src/render.ts:444-464
3. Link Sections
Individual social media and external link sections with animated arrows. Available link sections:?section=link-resume?section=link-website?section=link-linkedin?section=link-facebook?section=link-instagram?section=link-twitter
src/worker.ts:25-36
Link Section Structure
src/render.ts:600-605
Link Parameters
height: Typically 18-20pxwidth: Typically 100pxindex: Controls staggered animation delaytheme: Light or dark
4. Fallback Section
A Firefox-specific fallback section for browsers that don’t support all features. URL Parameter:?section=fallback
src/worker.ts:43-44
Browser-Specific Display
The fallback section uses@-moz-document to show only in Firefox:
src/render.ts:624-633
Grid Layout System
All sections use a common 6-column grid layout:src/render.ts:204-207
Section Parameters
Common Parameters
All sections accept these base parameters:src/render.ts:7-11
Main Section Parameters
src/render.ts:292-305
Dot Configuration
The contribution graph dots are highly configurable:src/worker.ts:52-56
Layout Customization
Adjusting Grid Areas
Each section component maps to specific grid areas:src/render.ts:328-350
Breakpoints
Two responsive breakpoints are defined:src/render.ts:3-4
Container Sizing
Sections use CSS containment for performance:src/render.ts:210-215
Year Data Structure
The contribution graph processes year data:src/worker.ts:7-11
Maximum Years
By default, only the most recent 3 years are displayed:src/worker.ts:13, 46
Dynamic Size Calculation
Section dimensions are calculated based on content:src/worker.ts:63-71
Customization Tips
- Adjust dot density: Modify
rows,size, andgapin the dots configuration - Change year limit: Update
MAX_YEARSto show more or fewer years - Customize grid layout: Modify grid-area values for different positioning
- Add new sections: Create new section handlers in worker.ts
- Responsive behavior: Adjust breakpoint values and media queries