gistfs.js
Gisthub gist API wrapper to writeFile and readFile
gistfs(repo)
A mixin for Octokat.js that
provides a simple wrapper for writing to and reading from a gist. It
provides an interface similar to node.js fs.readFile
and fs.writeFile
.
Limitations
Currently will only read files < 1Mb
Parameters
parameter | type | description |
---|---|---|
repo |
Octokat.gist | A vaid repo returned from Octokat with the call octo.gists('gist_id') . See below for examples. |
Example
var gistfs = require('gistfs');
var Octokat = require('octokat');
var octo = new Octocat({ username: "USER_NAME", password: "PASSWORD" });
var gh = gistfs(octo.gists('gist_id'));
Returns Object
, returns and instance of gistfs with two methods readFile
and writeFile
.
writeFile(filename, data, callback)
Asynchronously writes data to a file on a Gist, replacing the file if it
already exists. data
can be a string or a buffer. A buffer is written
encoded as base64.
Parameters
parameter | type | description |
---|---|---|
filename |
String | Cannot contain slashes |
data |
String\,Buffer | |
callback |
Function |
Example
gh.writeFile('message.txt', 'Hello Github', function (err) {
if (err) throw err;
console.log('It\'s saved!');
});
readFile(filename, [options], callback)
Asynchronously read a file on Github.
The file path is always interpreted from the root of the repo, whether or not it is preceded by a slash.
The callback is passed two arguments (err, data)
, where data
is the
contents of the file.
Assumes data on gist is utf8. TODO read gist files encoded as base64.
If no encoding is specified, then the raw buffer is returned.
Parameters
parameter | type | description |
---|---|---|
filename |
String | |
[options] |
Object | optional: options.encoding=null (returns Buffer) |
callback |
Function |
Example
gh.readFile('my_file.txt', { encoding: 'utf8' }, function (err, data) {
if (err) throw err;
console.log(data);
// text contents of file
});
Installation
Requires nodejs.
$ npm install gistfs.js
Tests
$ npm test
======================
See it on GitHub
Return to Code