{"id":23608530,"url":"https://github.com/peterbenoit/repowidget","last_synced_at":"2025-11-05T17:30:25.375Z","repository":{"id":269714350,"uuid":"889656534","full_name":"peterbenoit/RepoWidget","owner":"peterbenoit","description":"A lightweight, customizable widget to showcase your GitHub repositories on any website. Features responsive design, caching, and beautiful repository cards with rich metadata.","archived":false,"fork":false,"pushed_at":"2024-12-27T14:55:26.000Z","size":354,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-28T03:46:07.526Z","etag":null,"topics":["customizable","github-api","javascript","open-source","portfolio","repository-display","responsive-design","widget"],"latest_commit_sha":null,"homepage":"https://www.repowidget.com","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peterbenoit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-16T21:58:39.000Z","updated_at":"2024-12-27T14:55:30.000Z","dependencies_parsed_at":"2024-12-25T15:33:33.820Z","dependency_job_id":null,"html_url":"https://github.com/peterbenoit/RepoWidget","commit_stats":null,"previous_names":["peterbenoit/repowidget"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterbenoit%2FRepoWidget","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterbenoit%2FRepoWidget/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterbenoit%2FRepoWidget/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterbenoit%2FRepoWidget/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peterbenoit","download_url":"https://codeload.github.com/peterbenoit/RepoWidget/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239467436,"owners_count":19643604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["customizable","github-api","javascript","open-source","portfolio","repository-display","responsive-design","widget"],"created_at":"2024-12-27T14:15:14.152Z","updated_at":"2025-11-05T17:30:25.330Z","avatar_url":"https://github.com/peterbenoit.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎯 GitHub Repository Widget\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![JavaScript](https://img.shields.io/badge/JavaScript-ES6+-yellow)](https://www.ecma-international.org/ecma-262/)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)\n\nA lightweight, customizable widget to showcase your GitHub repositories on any website. Features responsive design, caching, and beautiful repository cards with rich metadata.\n\n## ✨ Features\n\n- 🎨 Fully customizable styling\n- 📱 Responsive grid layout\n- ⚡ Local caching for better performance\n- 🌈 Language color coding\n- 🔄 Multiple sorting options\n- 💫 Hover animations\n- 🎯 Configurable display limits\n\n## 🚀 Quick Start\n\n1. Include the script in your HTML:\n```html\n\u003cscript src=\"path/to/repoWidget.js\"\u003e\u003c/script\u003e\n```\n\n2. Add a container element:\n```html\n\u003cdiv id=\"my-repos\"\u003e\u003c/div\u003e\n```\n\n3. Initialize the widget:\n```javascript\ncreateRepoWidget({\n    username: 'github-username',\n    containerId: 'my-repos'\n});\n```\n\n## 🛠️ Configuration Options\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `username` | string | required | Your GitHub username |\n| `containerId` | string | required | ID of the container element |\n| `columns` | object | `{mobile: 1, tablet: 2, desktop: 3}` | Number of columns for different screen sizes |\n| `cardStyles` | object | `{}` | Custom styles for repository cards |\n| `textStyles` | object | `{}` | Custom styles for text elements |\n| `scaleOnHover` | number/boolean | `1.05` | Scale factor on hover (0 or false to disable) |\n| `maxRepos` | number | `columns.desktop * 2` | Maximum number of repositories to display |\n| `sortBy` | string | `'stars'` | Sort criteria (`'stars'`, `'forks'`, `'size'`, `'name'`) |\n\n## 💅 Styling Examples\n\n### Custom Card Styles\n```javascript\ncreateRepoWidget({\n    username: 'github-username',\n    containerId: 'my-repos',\n    cardStyles: {\n        background: 'linear-gradient(145deg, #ffffff, #f0f0f0)',\n        boxShadow: '5px 5px 15px #d1d1d1, -5px -5px 15px #ffffff'\n    }\n});\n```\n\n### Custom Text Colors\n```javascript\ncreateRepoWidget({\n    username: 'github-username',\n    containerId: 'my-repos',\n    textStyles: {\n        titleColor: '#2d3748',\n        descriptionColor: '#4a5568',\n        iconColor: '#718096'\n    }\n});\n```\n\n## 🎨 Color Themes\n\nThe widget includes predefined colors for various programming languages:\n\n- JavaScript: `#f1e05a`\n- Python: `#3572A5`\n- TypeScript: `#2b7489`\n- React: `#61DAFB`\n- And many more!\n\n## 🔄 Caching\n\nThe widget automatically caches repository data for 24 hours to minimize API requests and improve performance.\n\n## 📱 Responsive Design\n\nThe widget automatically adjusts its layout based on screen size:\n- Mobile: 1 column\n- Tablet: 2 columns\n- Desktop: 3 columns\n\nYou can customize these values using the `columns` option.\n\n## 🔀 Sorting Options\n\nThe widget provides flexible repository sorting capabilities through the `sortBy` parameter:\n\n- `stars` (default): Display most starred repositories first\n- `forks`: Sort by number of repository forks\n- `size`: Order by repository size\n- `name`: Alphabetical sorting by repository name\n\nExample usage:\n```javascript\ncreateRepoWidget({\n    username: 'github-username',\n    containerId: 'my-repos',\n    sortBy: 'forks',  // Show most forked repositories first\n    maxRepos: 6       // Limit to top 6 most forked repos\n});\n```\n\nThis sorting is performed client-side and works seamlessly with the caching system, ensuring quick response times while maintaining flexibility.\n\n## 🤝 Contributing\n\nContributions are welcome! Feel free to submit issues and pull requests.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- GitHub API for providing repository data\n- The open-source community for inspiration\n\n---\n\nMade with ❤️ by [Pete](https://www.peterbenoit.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterbenoit%2Frepowidget","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeterbenoit%2Frepowidget","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterbenoit%2Frepowidget/lists"}