Об этом проекте
GitHub Languages Card — это веб-сервис на Node.js/Express, который генерирует SVG-карточки с наиболее используемыми языками программирования пользователя GitHub, предназначенные для встраивания в README-профили, портфолио и документацию. Хостинг-демо доступно по адресу github-languages-card.vercel.app, проект также можно развернуть самостоятельно.
Основная функциональность: конечная точка GET /api/top-languages принимает обязательный параметр username и необязательный параметр theme (по умолчанию pink), возвращая SVG-изображение, которое можно встроить непосредственно в Markdown. Карточка отображает топовые языки с процентами, а также статистику GitHub, такую как репозитории, подписчики, звезды и форки, и опционально аватар пользователя. В README указано, что данные не сохраняются, а запросы идут напрямую к GitHub API.
Темы: в README перечислено 18+ именованных тем, включая pink, dark, mint, purple, ocean, sunset, graphite, coffee, lavender, peach, neon, strawberry, darkNeon, fire, snow, hacker, white и golden. В README представлен ранжированный список «лучших» тем, что является личной презентацией автора, а не независимой оценкой.
Самостоятельное развертывание: требует Node.js 18+ и npm/yarn. Шаги включают клонирование репозитория, запуск npm install, копирование .env.example в .env и запуск node server.js, после чего приложение доступно на localhost:3000. Предоставлен пример Dockerfile на основе node:18-alpine. Переменные окружения включают PORT (по умолчанию 3000), GITHUB_TOKEN (необязательно, для более высоких лимитов API), NODE_ENV и RENDER_EXTERNAL_URL.
Структура проекта: server.js — основной сервер Express; public/ содержит целевую страницу и изображения документации; utils/ содержит github.js (интеграция с GitHub API), svgBuilder.js (построитель SVG-карточек) и helpers.js; themes/ содержит определения тем. Указанный технологический стек: Node.js, Express, Axios и генерация SVG.
Известные ограничения, отмеченные авторами: GitHub API имеет лимиты (60 запросов/час без токена, 5000/час с GITHUB_TOKEN), и первый запрос может быть медленным из-за времени ответа GitHub API. Проект лицензирован под MIT и приветствует вклад через форк/ветку/пул-реквест. В README также указано, что пользователям в ограниченных регионах может потребоваться VPN для доступа к демо на Vercel.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.