Skip to content

adobe/gatsby-source-github-file-contributors

Version Downloads/week Build Status License Codecov Coverage

@adobe/gatsby-source-github-file-contributors

A Gatsby source plugin to get contributors per file for a Github repo

Install

npm install --save @adobe/gatsby-source-github-file-contributors

Example

// In gatsby-config.js
plugins: [
  {
    resolve: `@adobe/gatsby-source-github-file-contributors`,
      options: {
        pages: {
          root: '', // root of the page paths (below) in the Github repo
          paths: ['src/pages'], // relative path of the pages from the config
          extensions: ['md'] // page extensions to filter for
        },
        repo: {
          token: process.env.REPO_GITHUB_TOKEN, // Github Personal Access Token
          owner: process.env.REPO_OWNER, // user or org name
          name: process.env.REPO_NAME, 
          branch: process.env.REPO_BRANCH, // defaults to 'main'
          default_branch: process.env.REPO_DEFAULT_BRANCH // defaults to 'main'
        }
      }
  }
];

GraphQL

{
  allGithub {
    nodes {
      repository
      branch
      default_branch
      root
    }
  }    
  allGithubContributors {
    nodes {
      contributors {
        date
        login
        name
      }
      path
    }
  }        
}

Github Personal Access Token

Without a Github Personal Access Token, your requests will be rate-limited.

The GraphQL API v4 rate limit is 5,000 points per hour when authenticated, and 60 points per hour when anonymous.

The number of points in a GraphQL API call is returned in the metadata for the call.

Contributing

Contributions are welcome! Read the Contributing Guide for more information.

Licensing

This project is licensed under the Apache V2 License. See LICENSE for more information.