{"id":21292025,"url":"https://github.com/johnnythetank/aping-plugin-github","last_synced_at":"2025-07-02T04:31:46.640Z","repository":{"id":57182131,"uuid":"47724767","full_name":"JohnnyTheTank/apiNG-plugin-github","owner":"JohnnyTheTank","description":"GitHub Plugin for apiNG","archived":false,"fork":false,"pushed_at":"2018-08-31T19:12:38.000Z","size":51,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-28T04:47:09.538Z","etag":null,"topics":["angular","api","aping","aping-plugin","github","github-api"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JohnnyTheTank.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-12-09T23:06:44.000Z","updated_at":"2023-12-05T15:51:28.000Z","dependencies_parsed_at":"2022-09-06T00:40:30.068Z","dependency_job_id":null,"html_url":"https://github.com/JohnnyTheTank/apiNG-plugin-github","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/JohnnyTheTank/apiNG-plugin-github","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnnyTheTank%2FapiNG-plugin-github","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnnyTheTank%2FapiNG-plugin-github/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnnyTheTank%2FapiNG-plugin-github/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnnyTheTank%2FapiNG-plugin-github/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JohnnyTheTank","download_url":"https://codeload.github.com/JohnnyTheTank/apiNG-plugin-github/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnnyTheTank%2FapiNG-plugin-github/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263074686,"owners_count":23409803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","api","aping","aping-plugin","github","github-api"],"created_at":"2024-11-21T13:47:14.532Z","updated_at":"2025-07-02T04:31:46.615Z","avatar_url":"https://github.com/JohnnyTheTank.png","language":"JavaScript","readme":"[logo]: https://camo.githubusercontent.com/4bf6757723e08f87dec92ac931514d1e234b7ed3/687474703a2f2f6a6f686e6e7974686574616e6b2e6769746875622e696f2f6170694e472f6c6f676f2f3332302f6170696e672d6c6f676f2e706e67 \"apiNG Plugin\"\n![apiNG][logo]\n\n[![Join the chat at https://gitter.im/JohnnyTheTank/apiNG](https://img.shields.io/badge/GITTER-join%20chat-green.svg)](https://gitter.im/JohnnyTheTank/apiNG?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![npm version](https://badge.fury.io/js/aping-plugin-github.svg)](https://badge.fury.io/js/aping-plugin-github)\n[![Bower version](https://badge.fury.io/bo/apiNG-plugin-github.svg)](https://badge.fury.io/bo/apiNG-plugin-github)\n\n**_apiNG-plugin-github_** is a [GitHub Data API v3](https://developer.github.com/v3/) plugin for [**apiNG**](https://github.com/JohnnyTheTank/apiNG).\n\n# Information\n* **Supported apiNG models: `repo`**\n* This plugin supports the [`get-native-data` parameter](https://aping.readme.io/docs/advanced#parameters)\n* This plugin may needs an [access token](#2-access-token) :warning:\n* Used promise library: [angular-github-api-factory](https://github.com/JohnnyTheTank/angular-github-api-factory) _(included in distribution files)_\n\n# Documentation\n\n1. [INSTALLATION](#1-installation)\n    1. Get file\n    2. Include file\n    3. Add dependency\n    4. Add plugin\n2. [ACCESS TOKEN](#2-access-token)\n    1. Generate your `access_token`\n    2. Insert your `access_token` into `aping-config.js`\n3. [USAGE](#3-usage)\n    1. Models\n    2. Requests\n    3. Rate limit\n\n## 1. INSTALLATION\n    a) Get file\n    b) Include file\n    c) Add dependency\n    d) Add the plugin\n\n### I. Get file\nInstall via either [bower](http://bower.io/), [npm](https://www.npmjs.com/), CDN (jsDelivr) or downloaded files:\n\n* `bower install apiNG-plugin-github --save`\n* `npm install aping-plugin-github --save`\n* use [CDN file](https://www.jsdelivr.com/projects/aping.plugin-github)\n* download [apiNG-plugin-github.zip](https://github.com/JohnnyTheTank/apiNG-plugin-github/zipball/master)\n\n### II. Include file\nInclude `aping-plugin-github.min.js` in your apiNG application\n\n```html\n\u003c!-- when using bower --\u003e\n\u003cscript src=\"bower_components/apiNG-plugin-github/dist/aping-plugin-github.min.js\"\u003e\u003c/script\u003e\n\n\u003c!-- when using npm --\u003e\n\u003cscript src=\"node_modules/aping-plugin-github/dist/aping-plugin-github.min.js\"\u003e\u003c/script\u003e\n\n\u003c!-- when using cdn file --\u003e\n\u003cscript src=\"//cdn.jsdelivr.net/npm/aping-plugin-github@latest/dist/aping-plugin-github.min.js\"\u003e\u003c/script\u003e\n\n\u003c!-- when using downloaded files --\u003e\n\u003cscript src=\"aping-plugin-github.min.js\"\u003e\u003c/script\u003e\n```\n\n### III. Add dependencies\nAdd the module `jtt_aping_github` as a dependency to your app module:\n```js\nangular.module('app', ['jtt_aping', 'jtt_aping_github']);\n```\n\n### IV. Add the plugin\nAdd the plugin's directive `aping-github=\"[]\"` to your apiNG directive and [configure your requests](#ii-requests)\n```html\n\u003caping\n    template-url=\"templates/repo.html\"\n    model=\"repo\"\n    items=\"20\"\n    aping-github=\"[{'user':'JohnnyTheTank'}]\"\u003e\n\u003c/aping\u003e\n```\n\n## 2. ACCESS TOKEN\n\n### I. Generate your `access_token`\n1. Login on [github.com](https://github.com)\n2. Open [github.com/settings/tokens/new](https://github.com/settings/tokens/new)\n    * Remove all scopes except **public_repo**\n    * Generate your access_token\n\n### II. Insert your `access_token` into `aping-config.js`\nCreate and open `js/apiNG/aping-config.js` in your application folder. It should be look like this snippet:\n```js\nangular.module('jtt_aping').config(['$provide', function ($provide) {\n    $provide.value(\"apingDefaultSettings\", {\n        apingApiKeys : {\n            github: [\n                {'access_token':'\u003cYOUR_GITHUB_ACCESS_TOKEN\u003e'}\n            ],\n            //...\n        }\n    });\n}]);\n```\n\n:warning: Replace `\u003cYOUR_GITHUB_ACCESS_TOKEN\u003e` with your github `access_token`\n\n## 3. USAGE\n\n### I. Models\nSupported apiNG models\n\n|  model   | content | support | max items\u003cbr\u003eper request | (native) default items\u003cbr\u003eper request |\n|----------|---------|---------|--------|---------|\n| `repo` | **repositories** | full    | `100`   | `30`   |\n| `user` | **users** | full    | `100`   | `30`   |\n\n**support:**\n* full: _the source platform provides a full list with usable results_ \u003cbr\u003e\n* partly: _the source platform provides just partly usable results_\n\n\n### II. Requests\nEvery **apiNG plugin** expects an array of **requests** as html attribute.\n\n\n#### Requests by User\n|  parameter  | sample | default | description | optional |\n|----------|---------|---------|---------|---------|\n| **`user`** | `JohnnyTheTank` |  | GitHub username | no |\n| **`repo`** | `apiNG` |  | Limits the request to specific GitHub repository name | yes |\n| **`items`**  | `75` | `30` | Items per request (`0`-`100`) |  yes  |\n\nSample requests:\n* `[{'user':'JohnnyTheTank'}, {'user':'xremix', 'items':10}]`\n* `[{'user':'JohnnyTheTank', 'repo':'apiNG'}]`\n* `[{'user':'JohnnyTheTank'}]`\n\n#### Requests by Search\n|  parameter  | sample | default | description | optional |\n|----------|---------|---------|---------|---------|\n| **`search`** | `bootstrap` |  | The search keywords, as well as any qualifierse | no |\n| **`sort`** | `stars` |  | The sort field. One of `stars`, `forks`, or `updated`. Default: results are sorted by best match | yes |\n| **`order`** | `asc` | `desc` | The sort order if `sort` parameter is provided. One of `asc` or `desc` | yes |\n| **`items`**  | `75` | `30` | Items per request (`0`-`100`) |  yes  |\n\nSample requests:\n* `[{'search':'apiNG', 'sort':'stars', 'order':'desc', 'items':50}]`\n* `[{'search':'JohnnyTheTank', 'items':10}]`\n\n### III. Rate limit\nVisit the official [GitHub Data API documentation](https://developer.github.com/v3/#rate-limiting)\n\u003e For requests using Basic Authentication or OAuth, you can make up to 5,000 requests per hour.\n\n# Licence\nMIT\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnnythetank%2Faping-plugin-github","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnnythetank%2Faping-plugin-github","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnnythetank%2Faping-plugin-github/lists"}