Repository files navigation

RepoWidget

VersionLicenseDemo

A professional GitHub repository display widget for showcasing repositories on any website. RepoWidget makes it easy to embed and display GitHub repositories in a customizable, responsive layout without any dependencies.

RepoWidget Preview

Features

  • Display repositories from any GitHub user or organization
  • Fully customizable styling and appearance
  • Responsive design with configurable column layouts
  • Zero dependencies, lightweight and fast
  • Sort repositories by stars, forks, or last update date
  • Simple integration with any website
  • Works with vanilla JavaScript or any framework

Demo & Examples

Visit repowidget.com to see RepoWidget in action.

Example Use Cases

Quick Start

Option 1: Direct Script Include (CDN)

<divid="my-github-repos"></div><!-- jsDelivr CDN (recommended) --><scriptsrc="https://cdn.jsdelivr.net/npm/repowidget/dist/repoWidget.min.js"></script><!-- or unpkg CDN --><!-- <script src="https://unpkg.com/repowidget/dist/repoWidget.min.js"></script> --><script>createRepoWidget({username: 'your-github-username',containerId: 'my-github-repos',maxRepos: 6,});</script>

Option 2: NPM Installation

npm install repowidget
import{createRepoWidget}from'repowidget';createRepoWidget({username: 'your-github-username',containerId: 'my-github-repos',maxRepos: 6,});

Configuration Options

RepoWidget is highly customizable. Here's a complete example with all available options:

createRepoWidget({// Requiredusername: 'github-username',// GitHub username or organization namecontainerId: 'repos-container',// ID of the container element// OptionalmaxRepos: 6,// Maximum number of repositories to displayexclude: ['excluded-repo-1','excluded-repo-2'],// Repositories to excludesortBy: 'stars',// Sort repos by: "stars", "forks", or "updated"forked: false,// Whether to include forked repositoriesnoStyles: false,// Set to true to disable default styles// Responsive column layoutcolumns: {mobile: 1,// Columns on mobile (<768px)tablet: 2,// Columns on tablet (768px-1023px)desktop: 3,// Columns on desktop (>1024px)},// Custom stylescardStyles: {backgroundColor: '#ffffff',borderRadius: '8px',boxShadow: '0 2px 6px rgba(0, 0, 0, 0.1)',border: '1px solid #e1e4e8',margin: '10px',padding: '20px',height: '100%',},textStyles: {titleSize: '18px',titleColor: '#0366d6',titleWeight: '600',descriptionColor: '#586069',descriptionSize: '14px',iconColor: '#586069',},// AnimationscaleOnHover: 1.03,// Scale factor on hover (set to null to disable)// CallbacksonLoad: function(repos){console.log('Repositories loaded:',repos);},onError: function(error){console.error('Error loading repositories:',error);},});

API Reference

For complete API documentation, visit our API Reference.

Using with GitHub API Token (for higher rate limits)

If you need to display many repositories or need higher rate limits, you can use a GitHub API token:

createRepoWidget({username: 'your-github-username',containerId: 'repos-container',githubApiToken: 'your-github-token',// Consider using environment variables});

Note: Only use GitHub tokens in secure contexts and be careful not to expose them in client-side code. Consider using a proxy server for production applications.

Browser Support

RepoWidget works in all modern browsers:

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development

# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build

License

This project is licensed under the MIT License.


Created by Peter Benoit

About

A lightweight, customizable widget to showcase your GitHub repositories on any website. Features responsive design, caching, and beautiful repository cards with rich metadata.

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

RepoWidget

VersionLicenseDemo

A professional GitHub repository display widget for showcasing repositories on any website. RepoWidget makes it easy to embed and display GitHub repositories in a customizable, responsive layout without any dependencies.

RepoWidget Preview

Features

  • Display repositories from any GitHub user or organization
  • Fully customizable styling and appearance
  • Responsive design with configurable column layouts
  • Zero dependencies, lightweight and fast
  • Sort repositories by stars, forks, or last update date
  • Simple integration with any website
  • Works with vanilla JavaScript or any framework

Demo & Examples

Visit repowidget.com to see RepoWidget in action.

Example Use Cases

Quick Start

Option 1: Direct Script Include (CDN)

<divid="my-github-repos"></div><!-- jsDelivr CDN (recommended) --><scriptsrc="https://cdn.jsdelivr.net/npm/repowidget/dist/repoWidget.min.js"></script><!-- or unpkg CDN --><!-- <script src="https://unpkg.com/repowidget/dist/repoWidget.min.js"></script> --><script>createRepoWidget({username: 'your-github-username',containerId: 'my-github-repos',maxRepos: 6,});</script>

Option 2: NPM Installation

npm install repowidget
import{createRepoWidget}from'repowidget';createRepoWidget({username: 'your-github-username',containerId: 'my-github-repos',maxRepos: 6,});

Configuration Options

RepoWidget is highly customizable. Here's a complete example with all available options:

createRepoWidget({// Requiredusername: 'github-username',// GitHub username or organization namecontainerId: 'repos-container',// ID of the container element// OptionalmaxRepos: 6,// Maximum number of repositories to displayexclude: ['excluded-repo-1','excluded-repo-2'],// Repositories to excludesortBy: 'stars',// Sort repos by: "stars", "forks", or "updated"forked: false,// Whether to include forked repositoriesnoStyles: false,// Set to true to disable default styles// Responsive column layoutcolumns: {mobile: 1,// Columns on mobile (<768px)tablet: 2,// Columns on tablet (768px-1023px)desktop: 3,// Columns on desktop (>1024px)},// Custom stylescardStyles: {backgroundColor: '#ffffff',borderRadius: '8px',boxShadow: '0 2px 6px rgba(0, 0, 0, 0.1)',border: '1px solid #e1e4e8',margin: '10px',padding: '20px',height: '100%',},textStyles: {titleSize: '18px',titleColor: '#0366d6',titleWeight: '600',descriptionColor: '#586069',descriptionSize: '14px',iconColor: '#586069',},// AnimationscaleOnHover: 1.03,// Scale factor on hover (set to null to disable)// CallbacksonLoad: function(repos){console.log('Repositories loaded:',repos);},onError: function(error){console.error('Error loading repositories:',error);},});

API Reference

For complete API documentation, visit our API Reference.

Using with GitHub API Token (for higher rate limits)

If you need to display many repositories or need higher rate limits, you can use a GitHub API token:

createRepoWidget({username: 'your-github-username',containerId: 'repos-container',githubApiToken: 'your-github-token',// Consider using environment variables});

Note: Only use GitHub tokens in secure contexts and be careful not to expose them in client-side code. Consider using a proxy server for production applications.

Browser Support

RepoWidget works in all modern browsers:

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development

# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build

License

This project is licensed under the MIT License.


Created by Peter Benoit

About

A lightweight, customizable widget to showcase your GitHub repositories on any website. Features responsive design, caching, and beautiful repository cards with rich metadata.

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

RepoWidget

VersionLicenseDemo

A professional GitHub repository display widget for showcasing repositories on any website. RepoWidget makes it easy to embed and display GitHub repositories in a customizable, responsive layout without any dependencies.

RepoWidget Preview

Features

  • Display repositories from any GitHub user or organization
  • Fully customizable styling and appearance
  • Responsive design with configurable column layouts
  • Zero dependencies, lightweight and fast
  • Sort repositories by stars, forks, or last update date
  • Simple integration with any website
  • Works with vanilla JavaScript or any framework

Demo & Examples

Visit repowidget.com to see RepoWidget in action.

Example Use Cases

Quick Start

Option 1: Direct Script Include (CDN)

<divid="my-github-repos"></div><!-- jsDelivr CDN (recommended) --><scriptsrc="https://cdn.jsdelivr.net/npm/repowidget/dist/repoWidget.min.js"></script><!-- or unpkg CDN --><!-- <script src="https://unpkg.com/repowidget/dist/repoWidget.min.js"></script> --><script>createRepoWidget({username: 'your-github-username',containerId: 'my-github-repos',maxRepos: 6,});</script>

Option 2: NPM Installation

npm install repowidget
import{createRepoWidget}from'repowidget';createRepoWidget({username: 'your-github-username',containerId: 'my-github-repos',maxRepos: 6,});

Configuration Options

RepoWidget is highly customizable. Here's a complete example with all available options:

createRepoWidget({// Requiredusername: 'github-username',// GitHub username or organization namecontainerId: 'repos-container',// ID of the container element// OptionalmaxRepos: 6,// Maximum number of repositories to displayexclude: ['excluded-repo-1','excluded-repo-2'],// Repositories to excludesortBy: 'stars',// Sort repos by: "stars", "forks", or "updated"forked: false,// Whether to include forked repositoriesnoStyles: false,// Set to true to disable default styles// Responsive column layoutcolumns: {mobile: 1,// Columns on mobile (<768px)tablet: 2,// Columns on tablet (768px-1023px)desktop: 3,// Columns on desktop (>1024px)},// Custom stylescardStyles: {backgroundColor: '#ffffff',borderRadius: '8px',boxShadow: '0 2px 6px rgba(0, 0, 0, 0.1)',border: '1px solid #e1e4e8',margin: '10px',padding: '20px',height: '100%',},textStyles: {titleSize: '18px',titleColor: '#0366d6',titleWeight: '600',descriptionColor: '#586069',descriptionSize: '14px',iconColor: '#586069',},// AnimationscaleOnHover: 1.03,// Scale factor on hover (set to null to disable)// CallbacksonLoad: function(repos){console.log('Repositories loaded:',repos);},onError: function(error){console.error('Error loading repositories:',error);},});

API Reference

For complete API documentation, visit our API Reference.

Using with GitHub API Token (for higher rate limits)

If you need to display many repositories or need higher rate limits, you can use a GitHub API token:

createRepoWidget({username: 'your-github-username',containerId: 'repos-container',githubApiToken: 'your-github-token',// Consider using environment variables});

Note: Only use GitHub tokens in secure contexts and be careful not to expose them in client-side code. Consider using a proxy server for production applications.

Browser Support

RepoWidget works in all modern browsers:

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development

# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build

License

This project is licensed under the MIT License.


Created by Peter Benoit

About

A lightweight, customizable widget to showcase your GitHub repositories on any website. Features responsive design, caching, and beautiful repository cards with rich metadata.

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

RepoWidget

VersionLicenseDemo

A professional GitHub repository display widget for showcasing repositories on any website. RepoWidget makes it easy to embed and display GitHub repositories in a customizable, responsive layout without any dependencies.

RepoWidget Preview

Features

  • Display repositories from any GitHub user or organization
  • Fully customizable styling and appearance
  • Responsive design with configurable column layouts
  • Zero dependencies, lightweight and fast
  • Sort repositories by stars, forks, or last update date
  • Simple integration with any website
  • Works with vanilla JavaScript or any framework

Demo & Examples

Visit repowidget.com to see RepoWidget in action.

Example Use Cases

Quick Start

Option 1: Direct Script Include (CDN)

<divid="my-github-repos"></div><!-- jsDelivr CDN (recommended) --><scriptsrc="https://cdn.jsdelivr.net/npm/repowidget/dist/repoWidget.min.js"></script><!-- or unpkg CDN --><!-- <script src="https://unpkg.com/repowidget/dist/repoWidget.min.js"></script> --><script>createRepoWidget({username: 'your-github-username',containerId: 'my-github-repos',maxRepos: 6,});</script>

Option 2: NPM Installation

npm install repowidget
import{createRepoWidget}from'repowidget';createRepoWidget({username: 'your-github-username',containerId: 'my-github-repos',maxRepos: 6,});

Configuration Options

RepoWidget is highly customizable. Here's a complete example with all available options:

createRepoWidget({// Requiredusername: 'github-username',// GitHub username or organization namecontainerId: 'repos-container',// ID of the container element// OptionalmaxRepos: 6,// Maximum number of repositories to displayexclude: ['excluded-repo-1','excluded-repo-2'],// Repositories to excludesortBy: 'stars',// Sort repos by: "stars", "forks", or "updated"forked: false,// Whether to include forked repositoriesnoStyles: false,// Set to true to disable default styles// Responsive column layoutcolumns: {mobile: 1,// Columns on mobile (<768px)tablet: 2,// Columns on tablet (768px-1023px)desktop: 3,// Columns on desktop (>1024px)},// Custom stylescardStyles: {backgroundColor: '#ffffff',borderRadius: '8px',boxShadow: '0 2px 6px rgba(0, 0, 0, 0.1)',border: '1px solid #e1e4e8',margin: '10px',padding: '20px',height: '100%',},textStyles: {titleSize: '18px',titleColor: '#0366d6',titleWeight: '600',descriptionColor: '#586069',descriptionSize: '14px',iconColor: '#586069',},// AnimationscaleOnHover: 1.03,// Scale factor on hover (set to null to disable)// CallbacksonLoad: function(repos){console.log('Repositories loaded:',repos);},onError: function(error){console.error('Error loading repositories:',error);},});

API Reference

For complete API documentation, visit our API Reference.

Using with GitHub API Token (for higher rate limits)

If you need to display many repositories or need higher rate limits, you can use a GitHub API token:

createRepoWidget({username: 'your-github-username',containerId: 'repos-container',githubApiToken: 'your-github-token',// Consider using environment variables});

Note: Only use GitHub tokens in secure contexts and be careful not to expose them in client-side code. Consider using a proxy server for production applications.

Browser Support

RepoWidget works in all modern browsers:

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development

# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build

License

This project is licensed under the MIT License.


Created by Peter Benoit

About

A lightweight, customizable widget to showcase your GitHub repositories on any website. Features responsive design, caching, and beautiful repository cards with rich metadata.

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

RepoWidget

VersionLicenseDemo

A professional GitHub repository display widget for showcasing repositories on any website. RepoWidget makes it easy to embed and display GitHub repositories in a customizable, responsive layout without any dependencies.

RepoWidget Preview

Features

  • Display repositories from any GitHub user or organization
  • Fully customizable styling and appearance
  • Responsive design with configurable column layouts
  • Zero dependencies, lightweight and fast
  • Sort repositories by stars, forks, or last update date
  • Simple integration with any website
  • Works with vanilla JavaScript or any framework

Demo & Examples

Visit repowidget.com to see RepoWidget in action.

Example Use Cases

Quick Start

Option 1: Direct Script Include (CDN)

<divid="my-github-repos"></div><!-- jsDelivr CDN (recommended) --><scriptsrc="https://cdn.jsdelivr.net/npm/repowidget/dist/repoWidget.min.js"></script><!-- or unpkg CDN --><!-- <script src="https://unpkg.com/repowidget/dist/repoWidget.min.js"></script> --><script>createRepoWidget({username: 'your-github-username',containerId: 'my-github-repos',maxRepos: 6,});</script>

Option 2: NPM Installation

npm install repowidget
import{createRepoWidget}from'repowidget';createRepoWidget({username: 'your-github-username',containerId: 'my-github-repos',maxRepos: 6,});

Configuration Options

RepoWidget is highly customizable. Here's a complete example with all available options:

createRepoWidget({// Requiredusername: 'github-username',// GitHub username or organization namecontainerId: 'repos-container',// ID of the container element// OptionalmaxRepos: 6,// Maximum number of repositories to displayexclude: ['excluded-repo-1','excluded-repo-2'],// Repositories to excludesortBy: 'stars',// Sort repos by: "stars", "forks", or "updated"forked: false,// Whether to include forked repositoriesnoStyles: false,// Set to true to disable default styles// Responsive column layoutcolumns: {mobile: 1,// Columns on mobile (<768px)tablet: 2,// Columns on tablet (768px-1023px)desktop: 3,// Columns on desktop (>1024px)},// Custom stylescardStyles: {backgroundColor: '#ffffff',borderRadius: '8px',boxShadow: '0 2px 6px rgba(0, 0, 0, 0.1)',border: '1px solid #e1e4e8',margin: '10px',padding: '20px',height: '100%',},textStyles: {titleSize: '18px',titleColor: '#0366d6',titleWeight: '600',descriptionColor: '#586069',descriptionSize: '14px',iconColor: '#586069',},// AnimationscaleOnHover: 1.03,// Scale factor on hover (set to null to disable)// CallbacksonLoad: function(repos){console.log('Repositories loaded:',repos);},onError: function(error){console.error('Error loading repositories:',error);},});

API Reference

For complete API documentation, visit our API Reference.

Using with GitHub API Token (for higher rate limits)

If you need to display many repositories or need higher rate limits, you can use a GitHub API token:

createRepoWidget({username: 'your-github-username',containerId: 'repos-container',githubApiToken: 'your-github-token',// Consider using environment variables});

Note: Only use GitHub tokens in secure contexts and be careful not to expose them in client-side code. Consider using a proxy server for production applications.

Browser Support

RepoWidget works in all modern browsers:

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development

# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build

License

This project is licensed under the MIT License.


Created by Peter Benoit

About

A lightweight, customizable widget to showcase your GitHub repositories on any website. Features responsive design, caching, and beautiful repository cards with rich metadata.

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

RepoWidget

VersionLicenseDemo

A professional GitHub repository display widget for showcasing repositories on any website. RepoWidget makes it easy to embed and display GitHub repositories in a customizable, responsive layout without any dependencies.

RepoWidget Preview

Features

  • Display repositories from any GitHub user or organization
  • Fully customizable styling and appearance
  • Responsive design with configurable column layouts
  • Zero dependencies, lightweight and fast
  • Sort repositories by stars, forks, or last update date
  • Simple integration with any website
  • Works with vanilla JavaScript or any framework

Demo & Examples

Visit repowidget.com to see RepoWidget in action.

Example Use Cases

Quick Start

Option 1: Direct Script Include (CDN)

<divid="my-github-repos"></div><!-- jsDelivr CDN (recommended) --><scriptsrc="https://cdn.jsdelivr.net/npm/repowidget/dist/repoWidget.min.js"></script><!-- or unpkg CDN --><!-- <script src="https://unpkg.com/repowidget/dist/repoWidget.min.js"></script> --><script>createRepoWidget({username: 'your-github-username',containerId: 'my-github-repos',maxRepos: 6,});</script>

Option 2: NPM Installation

npm install repowidget
import{createRepoWidget}from'repowidget';createRepoWidget({username: 'your-github-username',containerId: 'my-github-repos',maxRepos: 6,});

Configuration Options

RepoWidget is highly customizable. Here's a complete example with all available options:

createRepoWidget({// Requiredusername: 'github-username',// GitHub username or organization namecontainerId: 'repos-container',// ID of the container element// OptionalmaxRepos: 6,// Maximum number of repositories to displayexclude: ['excluded-repo-1','excluded-repo-2'],// Repositories to excludesortBy: 'stars',// Sort repos by: "stars", "forks", or "updated"forked: false,// Whether to include forked repositoriesnoStyles: false,// Set to true to disable default styles// Responsive column layoutcolumns: {mobile: 1,// Columns on mobile (<768px)tablet: 2,// Columns on tablet (768px-1023px)desktop: 3,// Columns on desktop (>1024px)},// Custom stylescardStyles: {backgroundColor: '#ffffff',borderRadius: '8px',boxShadow: '0 2px 6px rgba(0, 0, 0, 0.1)',border: '1px solid #e1e4e8',margin: '10px',padding: '20px',height: '100%',},textStyles: {titleSize: '18px',titleColor: '#0366d6',titleWeight: '600',descriptionColor: '#586069',descriptionSize: '14px',iconColor: '#586069',},// AnimationscaleOnHover: 1.03,// Scale factor on hover (set to null to disable)// CallbacksonLoad: function(repos){console.log('Repositories loaded:',repos);},onError: function(error){console.error('Error loading repositories:',error);},});

API Reference

For complete API documentation, visit our API Reference.

Using with GitHub API Token (for higher rate limits)

If you need to display many repositories or need higher rate limits, you can use a GitHub API token:

createRepoWidget({username: 'your-github-username',containerId: 'repos-container',githubApiToken: 'your-github-token',// Consider using environment variables});

Note: Only use GitHub tokens in secure contexts and be careful not to expose them in client-side code. Consider using a proxy server for production applications.

Browser Support

RepoWidget works in all modern browsers:

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development

# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build

License

This project is licensed under the MIT License.


Created by Peter Benoit

About

A lightweight, customizable widget to showcase your GitHub repositories on any website. Features responsive design, caching, and beautiful repository cards with rich metadata.

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

RepoWidget

VersionLicenseDemo

A professional GitHub repository display widget for showcasing repositories on any website. RepoWidget makes it easy to embed and display GitHub repositories in a customizable, responsive layout without any dependencies.

RepoWidget Preview

Features

  • Display repositories from any GitHub user or organization
  • Fully customizable styling and appearance
  • Responsive design with configurable column layouts
  • Zero dependencies, lightweight and fast
  • Sort repositories by stars, forks, or last update date
  • Simple integration with any website
  • Works with vanilla JavaScript or any framework

Demo & Examples

Visit repowidget.com to see RepoWidget in action.

Example Use Cases

Quick Start

Option 1: Direct Script Include (CDN)

<divid="my-github-repos"></div><!-- jsDelivr CDN (recommended) --><scriptsrc="https://cdn.jsdelivr.net/npm/repowidget/dist/repoWidget.min.js"></script><!-- or unpkg CDN --><!-- <script src="https://unpkg.com/repowidget/dist/repoWidget.min.js"></script> --><script>createRepoWidget({username: 'your-github-username',containerId: 'my-github-repos',maxRepos: 6,});</script>

Option 2: NPM Installation

npm install repowidget
import{createRepoWidget}from'repowidget';createRepoWidget({username: 'your-github-username',containerId: 'my-github-repos',maxRepos: 6,});

Configuration Options

RepoWidget is highly customizable. Here's a complete example with all available options:

createRepoWidget({// Requiredusername: 'github-username',// GitHub username or organization namecontainerId: 'repos-container',// ID of the container element// OptionalmaxRepos: 6,// Maximum number of repositories to displayexclude: ['excluded-repo-1','excluded-repo-2'],// Repositories to excludesortBy: 'stars',// Sort repos by: "stars", "forks", or "updated"forked: false,// Whether to include forked repositoriesnoStyles: false,// Set to true to disable default styles// Responsive column layoutcolumns: {mobile: 1,// Columns on mobile (<768px)tablet: 2,// Columns on tablet (768px-1023px)desktop: 3,// Columns on desktop (>1024px)},// Custom stylescardStyles: {backgroundColor: '#ffffff',borderRadius: '8px',boxShadow: '0 2px 6px rgba(0, 0, 0, 0.1)',border: '1px solid #e1e4e8',margin: '10px',padding: '20px',height: '100%',},textStyles: {titleSize: '18px',titleColor: '#0366d6',titleWeight: '600',descriptionColor: '#586069',descriptionSize: '14px',iconColor: '#586069',},// AnimationscaleOnHover: 1.03,// Scale factor on hover (set to null to disable)// CallbacksonLoad: function(repos){console.log('Repositories loaded:',repos);},onError: function(error){console.error('Error loading repositories:',error);},});

API Reference

For complete API documentation, visit our API Reference.

Using with GitHub API Token (for higher rate limits)

If you need to display many repositories or need higher rate limits, you can use a GitHub API token:

createRepoWidget({username: 'your-github-username',containerId: 'repos-container',githubApiToken: 'your-github-token',// Consider using environment variables});

Note: Only use GitHub tokens in secure contexts and be careful not to expose them in client-side code. Consider using a proxy server for production applications.

Browser Support

RepoWidget works in all modern browsers:

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development

# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build

License

This project is licensed under the MIT License.


Created by Peter Benoit

About

A lightweight, customizable widget to showcase your GitHub repositories on any website. Features responsive design, caching, and beautiful repository cards with rich metadata.

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

RepoWidget

VersionLicenseDemo

A professional GitHub repository display widget for showcasing repositories on any website. RepoWidget makes it easy to embed and display GitHub repositories in a customizable, responsive layout without any dependencies.

RepoWidget Preview

Features

  • Display repositories from any GitHub user or organization
  • Fully customizable styling and appearance
  • Responsive design with configurable column layouts
  • Zero dependencies, lightweight and fast
  • Sort repositories by stars, forks, or last update date
  • Simple integration with any website
  • Works with vanilla JavaScript or any framework

Demo & Examples

Visit repowidget.com to see RepoWidget in action.

Example Use Cases

Quick Start

Option 1: Direct Script Include (CDN)

<divid="my-github-repos"></div><!-- jsDelivr CDN (recommended) --><scriptsrc="https://cdn.jsdelivr.net/npm/repowidget/dist/repoWidget.min.js"></script><!-- or unpkg CDN --><!-- <script src="https://unpkg.com/repowidget/dist/repoWidget.min.js"></script> --><script>createRepoWidget({username: 'your-github-username',containerId: 'my-github-repos',maxRepos: 6,});</script>

Option 2: NPM Installation

npm install repowidget
import{createRepoWidget}from'repowidget';createRepoWidget({username: 'your-github-username',containerId: 'my-github-repos',maxRepos: 6,});

Configuration Options

RepoWidget is highly customizable. Here's a complete example with all available options:

createRepoWidget({// Requiredusername: 'github-username',// GitHub username or organization namecontainerId: 'repos-container',// ID of the container element// OptionalmaxRepos: 6,// Maximum number of repositories to displayexclude: ['excluded-repo-1','excluded-repo-2'],// Repositories to excludesortBy: 'stars',// Sort repos by: "stars", "forks", or "updated"forked: false,// Whether to include forked repositoriesnoStyles: false,// Set to true to disable default styles// Responsive column layoutcolumns: {mobile: 1,// Columns on mobile (<768px)tablet: 2,// Columns on tablet (768px-1023px)desktop: 3,// Columns on desktop (>1024px)},// Custom stylescardStyles: {backgroundColor: '#ffffff',borderRadius: '8px',boxShadow: '0 2px 6px rgba(0, 0, 0, 0.1)',border: '1px solid #e1e4e8',margin: '10px',padding: '20px',height: '100%',},textStyles: {titleSize: '18px',titleColor: '#0366d6',titleWeight: '600',descriptionColor: '#586069',descriptionSize: '14px',iconColor: '#586069',},// AnimationscaleOnHover: 1.03,// Scale factor on hover (set to null to disable)// CallbacksonLoad: function(repos){console.log('Repositories loaded:',repos);},onError: function(error){console.error('Error loading repositories:',error);},});

API Reference

For complete API documentation, visit our API Reference.

Using with GitHub API Token (for higher rate limits)

If you need to display many repositories or need higher rate limits, you can use a GitHub API token:

createRepoWidget({username: 'your-github-username',containerId: 'repos-container',githubApiToken: 'your-github-token',// Consider using environment variables});

Note: Only use GitHub tokens in secure contexts and be careful not to expose them in client-side code. Consider using a proxy server for production applications.

Browser Support

RepoWidget works in all modern browsers:

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development

# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build

License

This project is licensed under the MIT License.


Created by Peter Benoit

About

A lightweight, customizable widget to showcase your GitHub repositories on any website. Features responsive design, caching, and beautiful repository cards with rich metadata.

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages