Home

Awesome

gists NPM version NPM monthly downloads NPM total downloads

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 :heart: and support.

Install

Install with npm:

$ npm install --save gists

Full support for:

(If you find something missing or encounter a bug, please create an issue. Thanks!)

Heads up!

Breaking changes in v2.0!!!

Please read the CHANGELOG for more details.

Usage

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)

API

See the GitHub Gist API documentation for additional details and input options for each method.

Gists

The main export is the Gists class. Start by creating an instance of Gists.

Params

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

Create a new gist (docs).

Params

Example

// POST /gists
gists.create(options);

.get

Get a gist (docs).

Params

Example

// GET /gists/:gist_id
gists.get(gist_id[, options]);

.list

List all gists for the given username (docs).

Params

Example

// GET /users/:username/gists
gists.list(username[, options]);

.all

List the authenticated user's gists, or if called anonymously get all public gists. (docs).

Params

Example

// GET /gists/
gists.all(options);

.public

List all public gists sorted by most recently updated to least recently updated (docs).

Params

Example

// GET /gists/public
gists.public(options);

.starred

List the authenticated user's starred gists (docs).

Params

Example

// GET /gists/starred
gists.starred(options);

.revision

Get a specific revision of a gist (docs).

Params

Example

// GET /gists/:gist_id/:sha
gists.revision(gist_id, sha[, options]);

.commits

List commits for a gist (docs).

Params

Example

// GET /gists/:gist_id/commits
gists.commit(gist_id[, options]);

.forks

List all forks for a gist (docs).

Params

Example

// GET /gists/:gist_id/forks
gists.forks(gist_id[, options]);

.fork

Fork a gist (docs).

Params

Example

// POST /gists/:gist_id/forks
gists.fork(gist_id[, options]);

.edit

Edit a gist (docs).

Params

Example

// PATCH /gists/:gist_id
gists.edit(gist_id[, options]);

.delete

Delete a gist (docs).

Params

Example

// DELETE /gists/:gist_id
gists.delete(gist_id[, options]);

.star

Star a gist (docs).

Params

Example

// PUT /gists/:gist_id/star
gists.star(gist_id[, options]);

.unstar

Unstar a gist (docs).

Params

Example

// DELETE /gists/:gist_id/star
gists.unstar(gist_id[, options]);

.isStarred

Check if a gist is starred (docs).

Params

Example

// GET /gists/:gist_id/star
gists.isStarred(gist_id[, options])

.comment

Create a comment on a gist (docs).

Params

Example

// POST /gists/:gist_id/comments
gists.comment(gist_id, { body: 'Just commenting for the sake of commenting' });

.getComment

Get a single comment from a gist (docs).

Params

Example

// GET /gists/:gist_id/comments/:comment_id
gists.getComment(gist_id, comment_id, options);

.listComments

List comments on a gist (docs).

Params

Example

// GET /gists/:gist_id/comments
gists.listComments(options);

.edit

Edit a comment (docs).

Params

Example

// PATCH /gists/:gist_id/comments/:gist_id
gists.editComment(gist_id, comment_id[, options]);

.delete

Delete a comment (docs).

Params

Example

// DELETE /gists/:gist_id/comments/:comment_id
gists.deleteComment(gist_id, comment_id[, options]);

Release history

v2.0

About

<details> <summary><strong>Contributing</strong></summary>

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

</details> <details> <summary><strong>Running Tests</strong></summary>

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
</details> <details> <summary><strong>Building docs</strong></summary>

(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
</details>

Related projects

You might also be interested in these projects:

Contributors

CommitsContributor
15jonschlinkert
6tennisonchan
4doowb
1sheeit

Author

Jon Schlinkert

License

Copyright © 2018, Jon Schlinkert. Released under the MIT License.


This file was generated by verb-generate-readme, v0.6.0, on August 19, 2018.