Top Related Projects
A fresher "Fork me on GitHub" callout.
Quick Overview
GitHub Buttons is a project that provides unofficial buttons for GitHub repositories, allowing developers to easily embed repository statistics and actions on their websites. These buttons include star, watch, fork, follow, and sponsor actions, as well as displaying the number of stars, forks, and issues for a repository.
Pros
- Easy integration with simple HTML snippets
- Customizable appearance to match website design
- Lightweight and fast-loading
- Supports various GitHub actions and statistics
Cons
- Unofficial project, not directly supported by GitHub
- Limited to GitHub-specific actions and statistics
- May require occasional updates to maintain compatibility with GitHub's API
- Potential privacy concerns for users who don't want to load external resources
Code Examples
- Adding a star button:
<a class="github-button" href="https://github.com/buttons/github-buttons" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star buttons/github-buttons on GitHub">Star</a>
- Adding a fork button:
<a class="github-button" href="https://github.com/buttons/github-buttons/fork" data-icon="octicon-repo-forked" data-size="large" data-show-count="true" aria-label="Fork buttons/github-buttons on GitHub">Fork</a>
- Adding a follow button:
<a class="github-button" href="https://github.com/ntkme" data-size="large" data-show-count="true" aria-label="Follow @ntkme on GitHub">Follow @ntkme</a>
Getting Started
To use GitHub Buttons on your website, follow these steps:
- Add the following script to your HTML file, preferably before the closing
</body>
tag:
<script async defer src="https://buttons.github.io/buttons.js"></script>
-
Insert the desired button HTML snippets (like the examples above) where you want the buttons to appear on your page.
-
Customize the buttons by modifying the
data-
attributes in the HTML snippets to change size, appearance, and displayed information.
Competitor Comparisons
A fresher "Fork me on GitHub" callout.
Pros of github-corners
- Visually distinctive and eye-catching design
- Customizable colors and animations
- Lightweight and easy to implement
Cons of github-corners
- Limited to corner placement only
- May not blend as seamlessly with some website designs
- Fewer options for text or additional information
Code Comparison
github-corners:
<a href="https://your-url" class="github-corner" aria-label="View source on GitHub">
<svg width="80" height="80" viewBox="0 0 250 250" style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true">
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
<path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path>
<path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path>
</svg>
</a>
github-buttons:
<a class="github-button" href="https://github.com/ntkme/github-buttons" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star ntkme/github-buttons on GitHub">Star</a>
The github-corners code is more complex but offers a visually unique corner design, while github-buttons provides a simpler, more traditional button approach with built-in functionality for showing star counts and other GitHub-specific information.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
github-buttons
Usage
Use as a Snippet
Get started quickly with github:button configurator.
Use as a Component
- vue-github-button for Vue
- react-github-btn for React
Use as a Module
import { render } from 'github-buttons'
// export function render(options: object, callback: (el: HTMLElement) => void): void;
render(options, function (el) {
document.body.appendChild(el)
})
// export function render(anchor: HTMLAnchorElement, callback: (el: HTMLElement) => void): void;
render(anchor, function (el) {
anchor.parentNode.replaceChild(el, anchor)
})
Options
- For snippet usage, an option is an attribute on
<a>
element. - For component usage, an option is a prop on component.
- For module usage, an option is a property on
options
object.
href
- Type:
string
- Default:
'#'
Assign href
attribute (GitHub link) for button.
title
- Type:
string
- Default:
undefined
Assign title
attribute for button.
data-icon
- Type:
string
- Default:
'octicon-mark-github'
Set icon on button. A subset of Octicons is bundled.
data-color-scheme
- Type:
string
- Default:
undefined
Define a mapping of system color scheme to widget color scheme in css-like syntax.
This is an opt-in feature since version >=2.3.0
. It means if data-color-scheme
is undefined
, it would still behave like version <2.3.0
, where light color scheme is used under all conditions.
Once data-color-scheme
is set to a string, it will inherit the default mapping: no-preference: light; light: light; dark: dark;
.
no-preference: light;
means when system has no preference on color scheme, light color scheme will be used.light: light;
means when system prefers light color scheme, light color scheme will be used.dark: dark;
means when system prefers dark color scheme, dark color scheme will be used.
User declarations would override the default. For example:
- To enable color scheme using default, set
data-color-scheme=""
. - To use dark color scheme when system has no preference, set
data-color-scheme="no-preference: dark;"
. - To force light color scheme everywhere, set
data-color-scheme="dark: light;"
. - To force dark color scheme everywhere, set
data-color-scheme="no-preference: dark; light: dark;"
.
A single word can be used to force the color scheme everywhere since version >=2.11.0
. For example:
- To force light color scheme everywhere, set
data-color-scheme="light"
. - To force dark color scheme everywhere, set
data-color-scheme="dark"
.
data-size
- Type:
string
- Default:
undefined
Set button size. Possible values are undefined
and 'large'
.
data-show-count
- Type:
boolean
- Default:
false
Show a dynamic count based on button type (detected from href
):
https://github.com/:user
(follow)https://github.com/:user/:repo
(star)https://github.com/:user/:repo/subscription
(watch)https://github.com/:user/:repo/fork
(fork)https://github.com/:user/:repo/issues
(issues)https://github.com/:user/:repo/issues/new
(issues)
Tailing slash, query string, and hash in the href
won't affect type detection:
https://github.com/:user/
(follow)https://github.com/:user?tab=repositories
(follow)https://github.com/:user/:repo#readme
(star)https://github.com/:user/:repo/#readme
(star)
data-text
- Type:
string
- Default:
undefined
Set button text. When button is generated from <a>
element and data-text
is undefined
, the button text will be anchor's textContent
.
aria-label
- Type:
string
- Default:
undefined
Set aira-label
for button.
See also
License
See LICENSE.
Top Related Projects
A fresher "Fork me on GitHub" callout.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot