1.0.0 • Published 8 years ago

rawgit-url v1.0.0

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

RawGit

NPM version Build Status Coverage Status Dependencies

Get a RawGit URL for a file hosted in a public Github repository.

Installation

$ npm install rawgit-url

Usage

var rawgit = require( 'rawgit-url' );

rawgit( opts )

Returns a RawGit URL for a file hosted in a public Github repository.

var opts = {
	'slug': 'math-io/erf/924ab65fcb2b2a2231808ae1cecad92570902a2e',
	'file': 'README.md'
};

var url = rawgit( opts );
// returns 'https://cdn.rawgit.com/math-io/erf/924ab65fcb2b2a2231808ae1cecad92570902a2e/README.md'

The function accepts the following options:

  • slug: public Github repository slug (required). The slug should include owner and repo information and should include either commit, branch, or tag information. For example,
    • math-io/erf/924ab65fcb2b2a2231808ae1cecad92570902a2e
    • dstructs/array/develop
    • ...etc.
  • file: filepath (required). For example,
    • lib/index.js
    • ./README.md
    • ...etc.
  • cdn: boolean indicating whether to return a CDN URL. Default: true.

By default, the function returns a CDN URL. To return a (non-production) URL for development or testing, set the cdn option to false.

var opts = {
	'slug': 'dstructs/array/develop',
	'file': 'lib/index.js',
	'cdn': false
};

var url = rawgit( opts );
// returns 'https://rawgit.com/dstructs/array/develop/lib/index.js'

Examples

var rawgit = require( 'rawgit-url' );

var opts = {
	'cdn': true,
	'slug': 'kgryte/rawgit-url/a9633f0dd2e3720dadedb965a30c999c2b0f8992',
	'file': 'README.md'
};

var url = rawgit( opts );

console.log( url );
// returns 'https://cdn.rawgit.com/kgryte/rawgit-url/a9633f0dd2e3720dadedb965a30c999c2b0f8992/README.md'

To run the example code from the top-level application directory,

$ node ./examples/index.js

CLI

Installation

To use the module as a general utility, install the module globally

$ npm install -g rawgit-url

Usage

Usage: rawgit [options] file

Options:

  -h,  --help               Print this message.
  -V,  --version            Print the package version.
       --no-cdn             Return a dev/testing URL.
       --slug slug          Github repository slug (should include branch, commit, 
                            or tag info).

Notes

  • If not provided a slug, the module attempts to resolve a slug from a local .git repository located in the current working directory. The slug is a combination of remote.origin.url and the current Git hash. For example,

    $ git config --get remote.origin.url
    # => https://github.com/kgryte/rawgit-url.git
    
    $ git rev-parse HEAD
    # => a9633f0dd2e3720dadedb965a30c999c2b0f8992

    becomes

    var slug = 'kgryte/rawgit-url/a9633f0dd2e3720dadedb965a30c999c2b0f8992';

Examples

$ rawgit README.md --slug 'kgryte/rawgit-url/master'
# => https://cdn.rawgit.com/kgryte/rawgit-url/master/README.md

To infer a Github repository slug from a local .git repository, omit the slug option.

$ rawgit docs/img/eqn.svg
# => https://cdn.rawgit.com/math-io/erf/924ab65fcb2b2a2231808ae1cecad92570902a2e/docs/img/eqn.svg

Tests

Unit

This repository uses tape for unit tests. To run the tests, execute the following command in the top-level application directory:

$ make test

All new feature development should have corresponding unit tests to validate correct functionality.

Test Coverage

This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:

$ make test-cov

Istanbul creates a ./reports/coverage directory. To access an HTML version of the report,

$ make view-cov

Browser Support

This repository uses Testling for browser testing. To run the tests in a (headless) local web browser, execute the following command in the top-level application directory:

$ make test-browsers

To view the tests in a local web browser,

$ make view-browser-tests

License

MIT license.

Copyright

Copyright © 2016. Athan Reines.