metalsmith-github-profile
TypeScript icon, indicating that this package has built-in type declarations

2.0.2 • Public • Published

metalsmith-github-profile

npm: version npm: downloads

Snyk: vulnerabilities codecov: coverage license

A Metalsmith plugin to fetch GitHub profile information as global metadata.

Installation

npm install --save metalsmith-github-profile

JavaScript Usage

const Metalsmith    = require('metalsmith');
const githubProfile = require('metalsmith-github-profile');

Metalsmith(__dirname)
    .use(githubProfile({
        username: "<your-username-here>"
        // additional options
    }))
    .build((err) => {
        if (err) {
            throw err;
        }
    });

Global metadata

This plugin adds a metadata field named github.profile to the global metadata which can be used with templating engines, such as with handlebars:

GitHub username: {{ github.profile.user.login }}

The rest of the page content.

The following metadata is available from the GitHub public API:

Options

username (required)

Type: string

The GitHub username to fetch information for.

authorization (optional)

Type: {username: string, token: string}

A GitHub username and OAuth token (including personal access tokens) to use for API requests to get around rate limits.

You can source the token from environment variables like this:

githubProfile({
  username: "emmercm",
  authorization: {
    username: "emmercm",
    token: process.env.GITHUB_PERSONAL_ACCESS_TOKEN
  }
})

timeout (optional)

Type: number Default: 5000

Timeout in milliseconds for API requests to GitHub.

retries (optional)

Type: number Default: 3

Number of times to retry GitHub API requests.

retryableStatusCodes (optional)

Type: number[] Default: [0, 408, 500, 502, 503, 504]

A list of HTTP status codes to retry GitHub API requests on.

Changelog

Changelog

Dependents (0)

Package Sidebar

Install

npm i metalsmith-github-profile

Weekly Downloads

1

Version

2.0.2

License

GPL-3.0-or-later

Unpacked Size

51.2 kB

Total Files

6

Last publish

Collaborators

  • emmercm