metalsmith-github-profile
v2.0.3
Published
A Metalsmith plugin to fetch GitHub profile information.
Downloads
45
Maintainers
Readme
metalsmith-github-profile
A Metalsmith plugin to fetch GitHub profile information as global metadata.
Installation
npm install --save metalsmith-github-profile
JavaScript Usage
import Metalsmith from 'metalsmith';
import githubProfile from '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:
github.profile.user
(Object
)github.profile.repos
(Object[]
)
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.