A long-lived project that still receives updates
Easily embed beautiful GitHub repository cards in your Jekyll site using a simple Liquid tag. Supports light and dark themes.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 2.0
~> 5.0
~> 13.0
~> 3.18

Runtime

>= 3.7, < 5.0
~> 1.5
 Project Readme

Jekyll GitHub Card

Gem Version Tests

A Jekyll plugin that allows you to embed beautiful GitHub repository cards in your posts and pages using a simple Liquid tag. Supports both light and dark themes automatically.

Preview

Dark Theme

Dark Theme Preview

Light Theme

Light Theme Preview

Installation

Add this line to your Jekyll site's Gemfile:

group :jekyll_plugins do
  gem 'jekyll-github-card'
end

Then execute:

bundle install

Or install it yourself:

gem install jekyll-github-card

Add to your Jekyll configuration

Add the plugin to your _config.yml:

plugins:
  - jekyll-github-card

Include the CSS

Add the stylesheet to your layout (usually in _includes/head.html or your main layout file):

<link rel="stylesheet" href="{{ '/assets/css/github-card.css' | relative_url }}">

Or import it in your main SCSS file:

@import "github-card";

Usage

Use the {% github %} tag in any post or page:

{% github facebook/react %}

This will render a card showing:

  • Repository name with link
  • Description
  • Primary programming language with color indicator
  • Star count
  • Fork count

Examples

{% github microsoft/vscode %}
{% github rails/rails %}
{% github jekyll/jekyll %}

Theme Support

The plugin automatically supports both light and dark themes through CSS.

Automatic Detection

By default, the card respects the user's system preference via prefers-color-scheme.

Manual Theme Control

For Chirpy Theme

Chirpy uses data-mode="light" on the HTML element for light mode. This is automatically supported:

<html data-mode="light">  <!-- Light theme -->
<html>                     <!-- Dark theme (default) -->

For Other Themes

The CSS supports multiple theme conventions:

<!-- Any of these will trigger light theme -->
<html data-mode="light">
<html data-theme="light">
<html class="light">
<div class="github-card light">

Force a Specific Theme

Add the light or dark class directly to the card:

<div class="github-card light">...</div>
<div class="github-card dark">...</div>

Configuration

GitHub API Rate Limits

The plugin uses GitHub's public API, which has rate limits:

  • Unauthenticated: 60 requests per hour
  • Authenticated: 5,000 requests per hour

To increase the rate limit, set a GitHub token as an environment variable:

export GITHUB_TOKEN=your_github_token

For GitHub Actions or CI/CD:

env:
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Caching

The plugin caches API responses in memory during the build process to minimize API calls.

Customization

CSS Variables

The plugin uses CSS custom properties for easy theming:

.github-card {
  --github-card-bg: #0d1117;
  --github-card-border: #30363d;
  --github-card-text: #e6edf3;
  --github-card-text-secondary: #8b949e;
  --github-card-link: #58a6ff;
  --github-card-link-hover: #79c0ff;
}

Override these in your own CSS to match your site's design:

.github-card {
  --github-card-bg: var(--my-card-background);
  --github-card-border: var(--my-border-color);
  /* ... */
}

Supported Languages

The plugin includes color mappings for 25+ popular programming languages. Unknown languages will use a default gray color.

Development

After checking out the repo:

# Install dependencies
bundle install

# Run tests
bundle exec rake test

# Build the gem
gem build jekyll-github-card.gemspec

Running Tests

bundle exec rake test

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/r0x0d/jekyll-github-card.

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

License

The gem is available as open source under the terms of the MIT License.

Changelog

See CHANGELOG.md for version history.