๐ด FOSScard
Your Open Source Contributions, Magic Card Style
At the crossroad of a business card and a CV
FOSScard transforms your open source portfolio into a beautiful, shareable Magic: The Gathering-style card. Perfect for recruiters, personal websites, and showcasing your contributions in style.
Features โข Installation โข Usage โข Examples โข Contributing
๐ค Why FOSScard?
- ๐ฏ Stand Out: Turn your GitHub profile into eye-catching visual art
- โก Fast: Generate your card in seconds with a simple YAML file
- ๐ Complexity Indicators: Show project difficulty with colored squares (๐ฉ๐จ๐ฅ)
- ๐ Optional Links: Projects can have links or stand alone
- ๐ผ๏ธ Custom Headers: Add background images to personalize your card
- ๐ฑ Responsive: Looks great on any device
โจ Features
๐จ Multiple Themes
Choose from carefully crafted color schemes:
- dark - Classic Magic card aesthetic
- light - Clean and professional
- matrix - Hacker green on black
- molokai - Inspired by the iconic Vim colorscheme
- anatole-light - Inspired by the Farbox theme Anatole
- anatole-dark - Inspired by the Farbox theme Anatole
Or create your own!
๐ Complexity Indicators
Show the sophistication of your projects:
- ๐ฉ๐ฉ 1-2: Simple projects (green)
- ๐จ๐จ๐จ 3-4: Moderate complexity (yellow)
- ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ 5+: Advanced projects (red)
๐ฏ Flexible Structure
- Categories: Organize projects by type (OS, AI, Web, etc.)
- Language Groups: Group projects by programming language
- Optional Links: Not all projects need URLs
- Custom Descriptions: Highlight what makes each project special
๐ผ๏ธ Personalization
- Add your logo
- Custom header backgrounds (images or gradients)
- Link to your website or portfolio
- Your name, your style
๐ ๏ธ Installation
Requirements
- Python 3.6+
- PyYAML
Quick Start
# Clone the repository
git clone https://github.com/iMilnb/FOSScard.git
cd FOSScard
# Install dependencies
pip install -r requirements.txt
# Create your profile (see examples below)
${EDITOR} yourname.yaml
# Generate your card
python fosscard.py yourname.yaml > yourname.html
# Or pipe from stdin
cat yourname.yaml | python fosscard.py > yourname.html๐ Usage
Basic YAML Structure
name: Your Name
link: https://yourwebsite.com
logo: https://example.com/your-logo.png
header_background: https://example.com/header-bg.jpg
style: molokai
projects:
Category Name:
Language:
Project Name:
link: https://github.com/user/project
description: A brief description of your project
complexity: 3Minimal Example
name: Jane Doe
style: dark
projects:
Web Development:
React Dashboard:
description: Modern admin panel
complexity: 2Advanced Example
name: John Smith
link: https://johnsmith.dev
logo: https://avatars.githubusercontent.com/u/12345
header_background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)"
style: molokai
projects:
Operating Systems:
C:
kernel-module:
link: https://github.com/user/kernel-module
description: Custom Linux kernel module for performance monitoring
complexity: 5
bootloader:
link: https://github.com/user/bootloader
description: Minimal x86 bootloader
complexity: 4
Web Development:
TypeScript:
react-dashboard:
link: https://github.com/user/dashboard
description: Enterprise-grade admin dashboard
complexity: 3
api-gateway:
description: Microservices API gateway (private repo)
complexity: 4
AI/ML:
Python:
sentiment-analyzer:
link: https://github.com/user/sentiment
description: Real-time sentiment analysis engine
complexity: 3๐ฏ Field Reference
| Field | Required | Description | Example |
|---|---|---|---|
name |
Yes | Your name | "Jane Developer" |
link |
No | Personal website/portfolio | "https://jane.dev" |
logo |
No | Profile image URL | "https://..." |
header_background |
No | Header background (image URL, color, or gradient) | "https://..." or "#667eea" |
style |
No | Theme name (default: dark) | "molokai" |
projects |
Yes | Project structure (see examples) | {} |
Project Fields
| Field | Required | Description | Example |
|---|---|---|---|
link |
No | Project URL | "https://github.com/..." |
description |
Yes | Brief project description | "Web scraping tool" |
complexity |
No | Difficulty level (1-10+) | 3 |
๐ก Examples
Header Backgrounds
# Solid color
header_background: "#667eea"
# Gradient
header_background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)"
# Remote image
header_background: https://images.unsplash.com/photo-1234567890
# Or wrap in url() manually
header_background: "url('https://example.com/image.jpg')"Project Organization
# Direct projects under category
projects:
Tools:
cli-tool:
link: https://github.com/user/tool
description: Command-line utility
complexity: 2
# Language-grouped projects
projects:
Web Development:
JavaScript:
project-one:
description: First project
complexity: 2
project-two:
link: https://github.com/user/project-two
description: Second project
complexity: 3๐ช Real-World Example
Check out iMil.yaml in this repository for a complete example featuring:
- Multiple categories (OS, AI, Misc)
- Language grouping (Go, NetBSD)
- Various projects with different complexity levels
- Molokai theme styling
And tadaa: iMil's FOSScard
๐คธ Contributing
We love contributions! Whether it's:
- ๐ Bug reports
- ๐ก Feature requests
- ๐จ New themes
- ๐ Documentation improvements
- ๐ง Code contributions
How to contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
๐ License
This project is licensed under the WTFPL License - see the LICENSE file for details.
