1.0.0 • Published 5 years ago

foliohub-core v1.0.0

Weekly downloads
2
License
ISC
Repository
github
Last release
5 years ago

FolioHub Core

npm version Codacy Badge codecov Build Status License: MIT

Overview

Provide the function to fetch for portfolio data through GitHub's API.

Attension!

Because this program is under development, those data structure may be changed.

Feature

  • Provide only necessary data to make to a portfolio
  • Get title and thumbnail from README
  • Cache the some ajax requests

Install

$ npm install --save foliohub-core

Usage

import FoliohubCore from 'foliohub-core';
// const FoliohubCore = require('foliohub-core');

FoliohubCore.repositories.then(repositories => {
  console.log('repositories', repositories);
});

Methods

Fetch repositories

Provide a list of repositories.

FoliohubCore.repositories('username', [options])

Options

{
  includeDetail: true,
  filter: {
    topics: 'topics name' // If even one is included
  }
}

Output data structure

[
  {
    "title": "Foliohub Core", // H1 title in the README.md
    "image": "http://example.com/image.jpg", // If the README.md has a reference image
    "name": "foliohub-core",
    "ownerName": "passionate-engineer",
    "description": "Description",
    "homepage": "https://example.com",
    "language": "javascript",
    "createdAt": "2019-01-18T10:51:22Z",
    "updatedAt": "2019-01-18T10:53:06Z",
  }
]

Example

FoliohubCore.repositories('passionate-engineer', {includeDetail: true, filter: {topics: 'products'}}).then(repositories => {
  console.log('repositories', repositories);
});

async/await

(async () => {
  const repositories = await FoliohubCore.repositories('passionate-engineer', {includeDetail: true, filter: {topics: 'products'}});
  console.log('repositories', repositories);
})();

Fetch repository detail

Provide repository detail.

FoliohubCore.repository('username', 'repository name', [options])

Options

{
  includeDetail: true,
  filter: {
    topics: 'topics name'
  }
}

Output data structure

{
    "title": "Foliohub Core", // H1 title in the README.md
    "readme": "# Foliohub Core ##...",
    "image": "http://example.com/image.jpg", // If the README.md has a reference image
    "name": "foliohub-core",
    "ownerName": "passionate-engineer",
    "description": "Description",
    "homepage": "https://example.com",
    "language": "javascript",
    "createdAt": "2019-01-18T10:51:22Z",
    "updatedAt": "2019-01-18T10:53:06Z"
}

Example

FoliohubCore.repository('passionate-engineer', 'foliohub-core', {includeDetail: true}).then(repository => {
  console.log('repository', repository);
});

async/await

(async () => {
  const repository = await FoliohubCore.repository('passionate-engineer', 'foliohub-core', {includeDetail: true});
  console.log('repository', repository);
})();

Fetch user infomations

Provide user infomations.

FoliohubCore.user('username')

Output data structure

{
  "avatarUrl": "https://avatars3.githubusercontent.com/u/38520088?v=4",
  "name": "Passionate Engineer Ryoju",
  "company": "Company",
  "location": "Location",
  "email": "email@example.com",
  "bio": "User descrption"
}

Example

FoliohubCore.user('passionate-engineer').then(user => {
  console.log('user', user);
});

async/await

(async () => {
  const user = await FoliohubCore.user('passionate-engineer');
  console.log('user', user);
})();
1.0.0

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.0

5 years ago