Skip to content

voxpelli/node-github-publish

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

GitHub Publish

npm version npm downloads Module type: ESM Types in JS js-semistandard-style Follow @voxpelli@mastodon.social

Publishes a file to a repository through the GitHub Contents API

Installation

NPM

npm install github-publish

Current status

Stable, but not feature complete

Currently missing support for deletes.

Usage

import { GitHubPublisher } from 'github-publish';

const publisher = new GitHubPublisher('token123', 'voxpelli', 'voxpelli.github.com');

publisher.publish('_post/2015-07-17-example-post.md', 'file content').then(function (result) {
  // If "result" is truthy then the post was successfully published
});

Classes

  • GitHubPublisher(token, username, repo, [branch]) – creates a publisher object with an access token for the GitHub API, the username of the owner of the repository to publish to and the name of the repository itself as repo.

GitHubPublisher methods

  • retrieve(filename) – returns a Promise that resolves with either an object containing the content and sha of the existing file or with false if no such file exists in the repository
  • publish(filename, content, [options]) – publishes the specified content as the filename to the repo of the publisher object. content should be either a string or a Buffer. Returns a Promise which resolves to the sha of the created object on success and to false on failure (failure is likely caused by a collision with a pre-existing file, as long as one haven't specified that it should be overridden).

publish() options

  • force – whether to replace any pre-existing file no matter what
  • message – a custom commit message. Default is new content
  • sha – the sha of an existing file that one wants to replace

License

FOSSA Status