HeroText
The main hero text component displays your introduction, tagline, and call-to-action buttons.Reads from
@/config to display name, tagline, and descriptionFetches social links from the
socials content collectionUsage
Features
- Animated slide-in effect
- Dynamic social links from content collection
- Two CTAs: “Explore My Work” and “Read the Newsletter”
- Responsive typography with gradient effects
HeroImage
Displays an animated profile image with glow effects and a pulsing border animation.Path to the avatar image from site config
Usage
Features
- Optimized images using Astro’s Image component
- AVIF format with multiple widths
- Gradient glow effect on hover
- Animated pulsing border
- Responsive sizing (320px mobile, 640px desktop)
About
Renders the about section with markdown content from the content collection.Fetches content from
content/about/about-content.mdUsage
Features
- Fetches and renders markdown content
- Includes SideNav component for quick navigation
- Custom typography styling with first-letter effects
- Two CTAs: “Get In Touch” and “View Projects”
- Sticky sidebar navigation on desktop
- Gradient background overlay
Content Structure
The component expects content atsrc/content/about/about-content.md with:
Blogs
Displays the 6 most recent blog posts in a grid layout.Usage
Features
- Automatically fetches latest 6 posts from the
blogcollection - Sorted by date (newest first)
- Uses
ArticleCardcomponent for each post - Responsive grid: 1 column mobile, 2 tablet, 3 desktop
- “View All Articles” CTA button
Content Requirements
Expects blog posts insrc/content/blog/ with frontmatter:
Projects
Showcases featured projects in a masonry grid layout with modal details.Usage
Features
- Masonry grid with varying card sizes
- Filters only featured projects (
featured: true) - Sorted by year (descending)
- Interactive modal with full project details
- Tech stack badges (shows first 3, with “+X more”)
- Smooth animations with staggered delays
- Custom patterns for grid layout
Grid Patterns
The component cycles through these grid span patterns:Modal Features
- Full project description (markdown rendered)
- Complete tech stack display
- External links (website, GitHub, App Store, Play Store)
- Cover image display
- Click backdrop to close
- Escape key support
Content Requirements
Projects insrc/content/projects/ with frontmatter:
WorkExperience
Displays work history in a tabbed interface with markdown content.Usage
Features
- Tab-based interface (vertical tabs on desktop)
- Sorted by
orderfield in frontmatter - Smooth transitions between tabs
- Company website links with external icon
- Markdown content rendering for responsibilities
- Custom list styling with arrow bullets
- Horizontal scroll on mobile tabs
Content Requirements
Experience entries insrc/content/experience/ with frontmatter:
Styling Features
The component applies custom styling to markdown lists:- Arrow bullets (
›) in secondary color - Increased spacing between items
- Bold text for emphasis
- Indented list items
JavaScript Functionality
Tab Switching Logic
Tab Switching Logic
The component includes client-side JavaScript for tab interaction:
- Click tabs to switch content
- Active tab highlighted with border and background
- Content fades in/out with slide animation
- Initializes on page load and after Astro page transitions
Layout Example
Here’s how these components work together on the homepage:Animations
All home components include built-in animations:- HeroText: Slide in from left
- HeroImage: Slide in from right, hover scale
- Projects: Blur fade with staggered delays
- WorkExperience: Tab transitions with opacity/transform