GitHub Metadata


In order for jekyll-github-metadata to know what metadata to fetch it must be able to determine the repository NWO (name with owner, e.g. jekyll/jekyll-github-metadata) to ask GitHub about.

The easiest way to accomplish this is by setting an “origin” remote with a URL. If you ran git clone from GitHub, this is almost 100% the case & no further action is needed. If you run git remote -v in your repository, you should see your repo’s URL. However, this only works if the environment variable JEKYLL_ENV is either development or test. The default value of JEKYLL_ENV is development.

If you don’t have a git remote available, you have two other options:

  1. Set the environment variable PAGES_REPO_NWO to your repository name with owner, e.g. "jekyll/github-metadata". This is useful if you don’t want to commit your repository to your git history.
  2. Add your repository name with organization to your site’s configuration in the repository key.
repository: username/repo-name

“NWO” stands for “name with owner.” It is GitHub lingo for the username of the owner of the repository plus a forward slash plus the name of the repository, e.g. ‘parkr/blog’, where ‘parkr’ is the owner and ‘blog’ is the repository name.

Your site.github.* fields should fill in like normal. If you run Jekyll with the --verbose flag, you should be able to see all the API calls made.


Some site.github values can be overridden by environment variables.

Using with GitHub Enterprise

Working with jekyll-github-metadata and GitHub Enterprise? No sweat. You can configure which API endpoints this plugin will hit to fetch data.