프로젝트 소개

GitHub Languages Card는 GitHub 사용자의 가장 많이 사용하는 프로그래밍 언어를 보여주는 SVG 카드를 생성하는 Node.js/Express 웹 서비스로, 프로필 README, 포트폴리오, 문서에 삽입하도록 설계되었습니다. 호스팅된 데모는 github-languages-card.vercel.app에서 제공되며, 프로젝트는 자체 호스팅도 가능합니다. 핵심 기능: GET /api/top-languages 엔드포인트는 필수 username 매개변수와 선택적 theme 매개변수(기본값: pink)를 받아 Markdown에 직접 삽입할 수 있는 SVG 이미지를 반환합니다. 카드는 백분율과 함께 상위 언어를 표시하고, 저장소, 팔로워, 별, 포크 등의 GitHub 통계와 선택적으로 사용자 아바타를 표시합니다. README에는 데이터가 저장되지 않으며 요청이 GitHub API로 직접 전달된다고 명시되어 있습니다. 테마: README에는 pink, dark, mint, purple, ocean, sunset, graphite, coffee, lavender, peach, neon, strawberry, darkNeon, fire, snow, hacker, white, golden을 포함한 18개 이상의 명명된 테마가 나열되어 있습니다. README는 테마의 순위가 매겨진 "추천 목록"을 제시하는데, 이는 독립적인 평가가 아닌 작성자 자신의 표현입니다. 자체 호스팅: Node.js 18+ 및 npm/yarn이 필요합니다. 단계는 저장소를 클론하고, npm install을 실행하고, .env.example을 .env로 복사하고, node server.js로 시작하는 것이며, 이후 앱은 localhost:3000에서 사용할 수 있습니다. node:18-alpine 기반의 샘플 Dockerfile이 제공됩니다. 환경 변수에는 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회, GITHUB_TOKEN 사용 시 5000회), GitHub API 응답 시간으로 인해 첫 번째 요청이 느릴 수 있습니다. 프로젝트는 MIT 라이선스이며 포크/브랜치/풀 리퀘스트 워크플로를 통한 기여를 환영합니다. README는 또한 제한된 지역의 사용자가 Vercel 호스팅 데모에 접근하려면 VPN이 필요할 수 있다고 언급합니다.