Skip to content

Explore the top GitHub users and their avatars. See the 400 most popular GitHub faces in one place.

License

Notifications You must be signed in to change notification settings

john-bampton/john-bampton.github.io

Repository files navigation

GitHub Faces: Curated Avatars & Profiles

License: MIT GitHub contributors

"Explore the faces behind GitHub. Discover the people shaping open-source."

Explore and showcase the top GitHub user avatars in a modern, interactive grid. This project fetches, caches, and displays real GitHub profiles with up-to-date avatars and stats.


🚀 Features

  • Dynamic fetching of GitHub users via the API
  • Secure avatar downloads and cache management
  • Responsive HTML grid with Bootstrap
  • Real user filtering (type: User)
  • Automatic avatar updates
  • RSS feed for new faces
  • Modern, clean design
  • Pre-commit hooks for code quality (black, isort)
  • XSS-safe Jinja2 templates

🌐 Live Previews


⚡ Site Quickstart

  1. Clone the repo:

    git clone https://github.com/john-bampton/john-bampton.github.io.git
    cd john-bampton.github.io
  2. Install dependencies:

    pip install -e .
  3. Run the fetcher:

    APP_ENV=test python fetch.py

    Tip: Setting APP_ENV=test will fetch only 20 users for fast testing. Omit this variable to fetch 400 users (default, production mode).
  4. Open the grid:

    docs/index.html

⚙️ Configuration

  • TARGET_USERS: Number of GitHub users to fetch (default: 400, or 20 in test mode)
  • MAX_EXTRA_PAGES: Extra pages to fetch if needed (default: 2)
  • Set APP_ENV=test for test mode (fetches 20 users)

🖼️ Screenshots

Sample Faces


🛠️ Development & Quality

  • Code formatted with black and isort
  • Pre-commit hooks: see .pre-commit-config.yaml
  • Configs in pyproject.toml
  • Linting: flake8, pylint, yamllint, isort, black

📦 RSS Feed & Sitemap

  • RSS feed generated at docs/feed.xml

  • Sitemap generated at docs/sitemap.xml

  • Both are auto-generated when you run render.py

  • RSS feed follows RSS 2.0 format and is loaded in your HTML via: <link rel="alternate" type="application/rss+xml" title="John Bampton RSS Feed" href="/feed.xml">

  • Sitemap follows the standard XML sitemap protocol for search engines and is referenced in robots.txt:

    Sitemap: https://john-bampton.github.io/sitemap.xml
    
  • Subscribe for new updates and enjoy better SEO!


🤝 Contributing

We welcome PRs, issues, and suggestions! Add a ⭐, fork, or help improve the grid and features.

Code Quality Reminder:

  • Always run pre-commit run --all-files before pushing or opening a pull request. This ensures your code is auto-formatted and passes all checks.

  • If you don't have pre-commit installed, run:

    pip install pre-commit
    pre-commit install

    This sets up the hooks for your local repo.


📃 Build John's Personal Site

pip install -r requirements-docs.txt
cd doc
make html

Files will be in the doc/build folder.


Powered by

Python Powered PyCharm Powered


📝 License

MIT License © 2025 John Bampton & Seyyed Ali Mohammadiyeh (Max Base)

Releases

No releases published

Sponsor this project

  •  
  •  

Packages

No packages published

Contributors 18