Mystery Person
Default mystery person silhouette
This guide demonstrates how to use astro-gravatar components in common scenarios.
Display individual user avatars with different styles and sizes.
Small (50px)
Medium (80px)
Large (120px)
---import GravatarAvatar from 'astro-gravatar';---
<GravatarAvatar email="user@example.com" size={80} class="rounded-full" />Explore different default avatar styles for users without Gravatars.
Mystery Person
Default mystery person silhouette
Geometric Pattern
Unique pattern based on email hash
Retro Style
8-bit arcade-style avatar
<GravatarAvatar email="user@example.com" default="identicon" size={80}/>Display complete user profile cards with avatars and information.
---import GravatarProfileCard from 'astro-gravatar/GravatarProfileCard';---
<GravatarProfileCard email="user@example.com" layout="vertical" avatarSize={100} showName showBio/>Apply custom CSS classes to match your design system.
Create a separate CSS file for your custom styles:
.custom-avatar { border: 3px solid #3b82f6; box-shadow: 0 4px 6px rgba(59, 130, 246, 0.3); transition: transform 0.2s ease; border-radius: 50%;}
.custom-avatar:hover { transform: scale(1.05);}
.custom-card { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border-radius: 1rem; padding: 1.5rem;}
.custom-card .gravatar-profile-card__name-link,.custom-card .gravatar-profile-card__name-text { color: white;}
.custom-card .gravatar-profile-card__email { color: #e0e7ff;}Then import it in your Astro component:
---import '../styles/gravatar.css';import GravatarAvatar from 'astro-gravatar';---
<GravatarAvatar email="user@example.com" size={100} class="custom-avatar" />Generate QR codes that link directly to user Gravatar profiles for easy mobile access.
---import GravatarQR from 'astro-gravatar/GravatarQR';---
<GravatarQR email="user@example.com" size={100} />---import GravatarQR from 'astro-gravatar/GravatarQR';---
<GravatarQR email="user@example.com" size={150} version={3} type="gravatar" class="qr-custom"/>---import GravatarQR from 'astro-gravatar/GravatarQR';
const team = [ 'alice@example.com', 'bob@example.com', 'charlie@example.com'];---
<div style="display: flex; gap: 2rem; justify-content: center; margin: 2rem 0;"> {team.map(email => ( <div key={email} style="text-align: center;"> <GravatarQR email={email} size={100} version={3} type="user" /> <p style="margin-top: 0.5rem; font-size: 0.9rem;"> {email.split('@')[0]} </p> </div> ))}</div>identicon for consistent patterns or mp for simple silhouetteslazy prop for avatars below the fold