Methods for working with the GitHub Gist API. Node.js/JavaScript
Please consider following this project's author, Jon Schlinkert, and consider starring the project to show your ❤️ and support.
Install with npm:
$ npm install --save gists
Full support for:
(If you find something missing or encounter a bug, please create an issue. Thanks!)
Breaking changes in v2.0!!!
Please read the CHANGELOG for more details.
Add gists
to your node.js/JavaScript project with the following code:
const Gists = require('gists');
const gists = new Gists({
username: 'your_username',
password: 'your_password'
});
// EXAMPLE: Download the Markdown Cheatsheet gist.
gists.get('5854601')
.then(res => console.log(res))
.catch(console.error)
See the GitHub Gist API documentation for additional details and input options for each method.
The main export is the Gists
class. Start by creating an instance of Gists
.
Params
options
{Object}
Example
// see github-base for all available options and other ways to authenticate
const Gists = require('gists');
const gists = new Gists({ username: 'your_username', password: '*******' });
// all methods, when invoked, return a promise with this sigature
gists.get(...args)
.then(res => console.log(res.body))
.catch(console.error);
Create a new gist (docs).
Params
options
{Object}: Options to pass to github-base.
Example
// POST /gists
gists.create(options);
Get a gist (docs).
Params
gist_id
{String}: (required) The id of the gist to get.options
{Object}: Options to pass to github-base.
Example
// GET /gists/:gist_id
gists.get(gist_id[, options]);
List all gists for the given username
(docs).
Params
username
{String}options
{Object}: Options to pass to github-base.
Example
// GET /users/:username/gists
gists.list(username[, options]);
List the authenticated user's gists, or if called anonymously get all public gists. (docs).
Params
options
{Object}: Options to pass to github-base.
Example
// GET /gists/
gists.all(options);
List all public gists sorted by most recently updated to least recently updated (docs).
Params
options
{Object}: Options to pass to github-base.
Example
// GET /gists/public
gists.public(options);
List the authenticated user's starred gists (docs).
Params
options
{Object}: Options to pass to github-base.
Example
// GET /gists/starred
gists.starred(options);
Get a specific revision of a gist (docs).
Params
gist_id
{String}: (required) The id of the gist to get.sha
{String}: (required) Thesha
of the gist revision to get.options
{Object}: Options to pass to github-base.
Example
// GET /gists/:gist_id/:sha
gists.revision(gist_id, sha[, options]);
List commits for a gist (docs).
Params
gist_id
{String}: (required) The id of the gist to get commits for.options
{Object}: Options to pass to github-base.
Example
// GET /gists/:gist_id/commits
gists.commit(gist_id[, options]);
List all forks for a gist (docs).
Params
gist_id
{String}: (required) The id of the gist to list forks for.options
{Object}: Options to pass to github-base.
Example
// GET /gists/:gist_id/forks
gists.forks(gist_id[, options]);
Fork a gist (docs).
Params
gist_id
{String}: The id of the gist to fork.options
{Object}: Options to pass to github-base.
Example
// POST /gists/:gist_id/forks
gists.fork(gist_id[, options]);
Edit a gist (docs).
Params
gist_id
{String}: (required) The id of the gist to edit.options
{Object}: Options to pass to github-base.
Example
// PATCH /gists/:gist_id
gists.edit(gist_id[, options]);
Delete a gist (docs).
Params
gist_id
{String}: (required) The id of the gist to delete.options
{Object}: Options to pass to github-base.
Example
// DELETE /gists/:gist_id
gists.delete(gist_id[, options]);
Star a gist (docs).
Params
gist_id
{String}: (required) The id of the gist to star.options
{Object}: Options to pass to github-base.
Example
// PUT /gists/:gist_id/star
gists.star(gist_id[, options]);
Unstar a gist (docs).
Params
gist_id
{String}: (required) The id of the gist to unstar.options
{Object}: Options to pass to github-base.
Example
// DELETE /gists/:gist_id/star
gists.unstar(gist_id[, options]);
Check if a gist is starred (docs).
Params
gist_id
{String}: (required) The id of the gist to check.options
{Object}: Options to pass to github-base.returns
{Boolean}: Returnstrue
if a gist is starred.
Example
// GET /gists/:gist_id/star
gists.isStarred(gist_id[, options])
Create a comment on a gist (docs).
Params
gist_id
{String}: (required)options
{Object}: Options to pass to github-base.
Example
// POST /gists/:gist_id/comments
gists.comment(gist_id, { body: 'Just commenting for the sake of commenting' });
Get a single comment from a gist (docs).
Params
gist_id
{String}: (required)comment_id
{String}: (required) The id of the comment to get.options
{Object}: Options to pass to github-base.
Example
// GET /gists/:gist_id/comments/:comment_id
gists.getComment(gist_id, comment_id, options);
List comments on a gist (docs).
Params
gist_id
{String}: (required)options
{Object}: Options to pass to github-base.
Example
// GET /gists/:gist_id/comments
gists.listComments(options);
Edit a comment (docs).
Params
gist_id
{String}: (required)comment_id
{String}: (required) The id of the comment to edit.options
{Object}: Options to pass to github-base.
Example
// PATCH /gists/:gist_id/comments/:gist_id
gists.editComment(gist_id, comment_id[, options]);
Delete a comment (docs).
Params
gist_id
{String}: (required)comment_id
{String}: (required) The id of the comment to edit.options
{Object}: Options to pass to github-base.
Example
// DELETE /gists/:gist_id/comments/:comment_id
gists.deleteComment(gist_id, comment_id[, options]);
- Decrecated
.download
in favor of.get
. Start using.get
now, as.download
will be removed in the next major release. - Decrecated
.del
in favor of.delete
. Start using.delete
now, as.del
will be removed in the next major release. - Upgraded github-base, which is now an ES6 class.
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Running Tests
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
$ npm install && npm test
Building docs
(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)
To generate the readme, run the following command:
$ npm install -g verbose/verb#dev verb-generate-readme && verb
You might also be interested in these projects:
- github-base: Low-level methods for working with the GitHub API in node.js/JavaScript. | homepage
- github-contributors: Generate a markdown or JSON list of contributors for a project using the GitHub API. | homepage
Commits | Contributor |
---|---|
15 | jonschlinkert |
6 | tennisonchan |
4 | doowb |
1 | sheeit |
Jon Schlinkert
Copyright © 2018, Jon Schlinkert. Released under the MIT License.
This file was generated by verb-generate-readme, v0.6.0, on August 19, 2018.