rawgit-url
v1.0.0
Published
Get a RawGit URL for a file hosted in a public Github repository.
Downloads
12
Maintainers
Readme
RawGit
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
andrepo
information and should include eithercommit
,branch
, ortag
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 aslug
from a local.git
repository located in the current working directory. Theslug
is a combination ofremote.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
Copyright
Copyright © 2016. Athan Reines.