Skip to content

JohnnyTheTank/apiNG-plugin-github

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

apiNG

Join the chat at https://gitter.im/JohnnyTheTank/apiNG npm version Bower version

apiNG-plugin-github is a GitHub Data API v3 plugin for apiNG.

Information

Documentation

  1. INSTALLATION
    1. Get file
    2. Include file
    3. Add dependency
    4. Add plugin
  2. ACCESS TOKEN
    1. Generate your access_token
    2. Insert your access_token into aping-config.js
  3. USAGE
    1. Models
    2. Requests
    3. Rate limit

1. INSTALLATION

a) Get file
b) Include file
c) Add dependency
d) Add the plugin

I. Get file

Install via either bower, npm, CDN (jsDelivr) or downloaded files:

II. Include file

Include aping-plugin-github.min.js in your apiNG application

<!-- when using bower -->
<script src="bower_components/apiNG-plugin-github/dist/aping-plugin-github.min.js"></script>

<!-- when using npm -->
<script src="node_modules/aping-plugin-github/dist/aping-plugin-github.min.js"></script>

<!-- when using cdn file -->
<script src="//cdn.jsdelivr.net/npm/aping-plugin-github@latest/dist/aping-plugin-github.min.js"></script>

<!-- when using downloaded files -->
<script src="aping-plugin-github.min.js"></script>

III. Add dependencies

Add the module jtt_aping_github as a dependency to your app module:

angular.module('app', ['jtt_aping', 'jtt_aping_github']);

IV. Add the plugin

Add the plugin's directive aping-github="[]" to your apiNG directive and configure your requests

<aping
    template-url="templates/repo.html"
    model="repo"
    items="20"
    aping-github="[{'user':'JohnnyTheTank'}]">
</aping>

2. ACCESS TOKEN

I. Generate your access_token

  1. Login on github.com
  2. Open github.com/settings/tokens/new
    • Remove all scopes except public_repo
    • Generate your access_token

II. Insert your access_token into aping-config.js

Create and open js/apiNG/aping-config.js in your application folder. It should be look like this snippet:

angular.module('jtt_aping').config(['$provide', function ($provide) {
    $provide.value("apingDefaultSettings", {
        apingApiKeys : {
            github: [
                {'access_token':'<YOUR_GITHUB_ACCESS_TOKEN>'}
            ],
            //...
        }
    });
}]);

⚠️ Replace <YOUR_GITHUB_ACCESS_TOKEN> with your github access_token

3. USAGE

I. Models

Supported apiNG models

model content support max items
per request
(native) default items
per request
repo repositories full 100 30
user users full 100 30

support:

  • full: the source platform provides a full list with usable results
  • partly: the source platform provides just partly usable results

II. Requests

Every apiNG plugin expects an array of requests as html attribute.

Requests by User

parameter sample default description optional
user JohnnyTheTank GitHub username no
repo apiNG Limits the request to specific GitHub repository name yes
items 75 30 Items per request (0-100) yes

Sample requests:

  • [{'user':'JohnnyTheTank'}, {'user':'xremix', 'items':10}]
  • [{'user':'JohnnyTheTank', 'repo':'apiNG'}]
  • [{'user':'JohnnyTheTank'}]

Requests by Search

parameter sample default description optional
search bootstrap The search keywords, as well as any qualifierse no
sort stars The sort field. One of stars, forks, or updated. Default: results are sorted by best match yes
order asc desc The sort order if sort parameter is provided. One of asc or desc yes
items 75 30 Items per request (0-100) yes

Sample requests:

  • [{'search':'apiNG', 'sort':'stars', 'order':'desc', 'items':50}]
  • [{'search':'JohnnyTheTank', 'items':10}]

III. Rate limit

Visit the official GitHub Data API documentation

For requests using Basic Authentication or OAuth, you can make up to 5,000 requests per hour.

Licence

MIT