Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions Templates/MaterialDesign/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Material Design LinkFree Template

A modern LinkFree template following Google's Material Design 3 guidelines.

## Features

- **Material Design 3**: Latest Google design system with updated color schemes and typography
- **Material Icons**: Official Google Material Icons for a polished look
- **Roboto Font**: Google's signature typeface for Material Design
- **Elevation System**: Multiple shadow levels for depth and hierarchy
- **Ripple Effects**: Interactive touch feedback on link cards
- **Responsive Design**: Optimized for mobile, tablet, and desktop screens
- **Smooth Animations**: Material motion with cubic-bezier easing
- **Accessibility**: Proper focus states and semantic HTML
- **State Layers**: Hover and active states following Material guidelines

## Customization

### Colors

Edit the CSS variables in `style.css` to match your brand:

```css
:root {
--md-primary: #6750A4; /* Primary brand color */
--md-primary-container: #EADDFF;
--md-on-primary: #FFFFFF;
/* ... more color variables */
}
```

### Content

Update the following in `index.html`:

1. **Profile Photo**: Replace the `src` in the `<img>` tag with your own image URL (currently using a placeholder)
2. **Name & Username**: Update the text in profile card
3. **Bio**: Modify the profile description
4. **Links**: Add/remove link cards as needed
5. **Icons**: Change Material Icons to match your needs (see [Material Icons](https://fonts.google.com/icons))

> **Note**: Make sure to replace the placeholder profile image with your own image URL!

### Adding New Links

Copy and paste this structure to add more links:

```html
<a href="YOUR_URL" class="md-link-card" target="_blank">
<span class="material-icons link-icon">ICON_NAME</span>
<div class="link-content">
<span class="link-title">Title</span>
<span class="link-subtitle">Subtitle</span>
</div>
<span class="material-icons link-arrow">arrow_forward</span>
<div class="md-ripple"></div>
</a>
```

## Material Design Resources

- [Material Design 3](https://m3.material.io/)
- [Material Icons](https://fonts.google.com/icons)
- [Material Color System](https://m3.material.io/styles/color/overview)
- [Material Typography](https://m3.material.io/styles/typography/overview)

## Browser Support

- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Mobile browsers

## License

This template is part of the LinkFree project and follows the same license.
95 changes: 95 additions & 0 deletions Templates/MaterialDesign/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Material Design LinkFree</title>

<!-- Google Fonts - Roboto (Material Design Typography) -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet">

<!-- Material Icons -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

<!-- Custom Styles -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- Material Design Surface -->
<div class="md-container">
<!-- Profile Card -->
<div class="md-card profile-card">
<div class="profile-image-wrapper">
<img src="https://i.imgur.com/t8ZX9um.jpg" alt="Profile Photo" class="profile-image">
Copy link

Copilot AI Oct 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The placeholder image URL uses an external service (imgur) which may become unavailable. Consider using a local placeholder image or providing clearer instructions in the README about replacing this URL.

Suggested change
<img src="https://i.imgur.com/t8ZX9um.jpg" alt="Profile Photo" class="profile-image">
<img src="profile-placeholder.png" alt="Profile Photo" class="profile-image">

Copilot uses AI. Check for mistakes.

</div>
<h1 class="profile-name">Your Name</h1>
<p class="profile-bio">@yourusername</p>
<p class="profile-description">Welcome to my links! Find all my social media and projects here.</p>
</div>

<!-- Links Section -->
<div class="links-container">
<!-- Link with Material Icon -->
<a href="#" class="md-link-card" target="_blank">
Copy link

Copilot AI Oct 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All link cards use placeholder '#' URLs. Consider providing example URLs or clearer placeholder text to guide users in customization.

Copilot uses AI. Check for mistakes.

<span class="material-icons link-icon">language</span>
<div class="link-content">
<span class="link-title">My Website</span>
<span class="link-subtitle">Visit my personal website</span>
</div>
<span class="material-icons link-arrow">arrow_forward</span>
<div class="md-ripple"></div>
</a>

<a href="#" class="md-link-card" target="_blank">
Copy link

Copilot AI Oct 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All link cards use placeholder '#' URLs. Consider providing example URLs or clearer placeholder text to guide users in customization.

Copilot uses AI. Check for mistakes.

<span class="material-icons link-icon">code</span>
<div class="link-content">
<span class="link-title">GitHub</span>
<span class="link-subtitle">Check out my code</span>
</div>
<span class="material-icons link-arrow">arrow_forward</span>
<div class="md-ripple"></div>
</a>

<a href="#" class="md-link-card" target="_blank">
Copy link

Copilot AI Oct 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All link cards use placeholder '#' URLs. Consider providing example URLs or clearer placeholder text to guide users in customization.

Copilot uses AI. Check for mistakes.

<span class="material-icons link-icon">work</span>
<div class="link-content">
<span class="link-title">LinkedIn</span>
<span class="link-subtitle">Connect professionally</span>
</div>
<span class="material-icons link-arrow">arrow_forward</span>
<div class="md-ripple"></div>
</a>

<a href="#" class="md-link-card" target="_blank">
Copy link

Copilot AI Oct 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All link cards use placeholder '#' URLs. Consider providing example URLs or clearer placeholder text to guide users in customization.

Copilot uses AI. Check for mistakes.

<span class="material-icons link-icon">photo_camera</span>
<div class="link-content">
<span class="link-title">Instagram</span>
<span class="link-subtitle">Follow my journey</span>
</div>
<span class="material-icons link-arrow">arrow_forward</span>
<div class="md-ripple"></div>
</a>

<a href="#" class="md-link-card" target="_blank">
Copy link

Copilot AI Oct 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All link cards use placeholder '#' URLs. Consider providing example URLs or clearer placeholder text to guide users in customization.

Copilot uses AI. Check for mistakes.

<span class="material-icons link-icon">email</span>
<div class="link-content">
<span class="link-title">Contact Me</span>
<span class="link-subtitle">Get in touch</span>
</div>
<span class="material-icons link-arrow">arrow_forward</span>
<div class="md-ripple"></div>
</a>
</div>

<!-- Footer -->
<footer class="md-footer">
<p>Made with Material Design 3</p>
</footer>
</div>

<!-- Optional: Add ripple effect script -->
<script src="index.js"></script>
</body>
</html>
43 changes: 43 additions & 0 deletions Templates/MaterialDesign/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
// Material Design Ripple Effect
document.addEventListener('DOMContentLoaded', function() {
const linkCards = document.querySelectorAll('.md-link-card');

linkCards.forEach(card => {
card.addEventListener('click', function(e) {
const ripple = this.querySelector('.md-ripple');

if (ripple) {
// Remove existing animation
ripple.style.animation = 'none';

// Trigger reflow
void ripple.offsetWidth;

// Get click position relative to the card
const rect = this.getBoundingClientRect();
const x = e.clientX - rect.left;
const y = e.clientY - rect.top;

// Position the ripple
ripple.style.left = x + 'px';
ripple.style.top = y + 'px';

// Restart animation
ripple.style.animation = 'ripple-animation 600ms';
}

// Optional: Track link clicks for analytics
const linkTitle = this.querySelector('.link-title');
if (linkTitle) {
trackLinkClick(linkTitle.textContent);
}
});
});
});

// Optional: Analytics tracking function
function trackLinkClick(linkName) {
console.log('Link clicked:', linkName);
// Add your analytics code here (e.g., Google Analytics, Amplitude, etc.)
// Example: gtag('event', 'click', { 'event_category': 'link', 'event_label': linkName });
}
Loading