Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cimlah/repo-share

A NodeJS app generating an iframe based on information about your repository, so you can show off your portfolio in an elegant way
https://github.com/cimlah/repo-share

api api-rest css hacktoberfest html html-css-javascript html5 iframe iframe-api node-js nodejs portfolio portfolio-construction portfolio-template portfolio-website pug pug-template-engine pugjs repo-share share

Last synced: 6 days ago
JSON representation

A NodeJS app generating an iframe based on information about your repository, so you can show off your portfolio in an elegant way

Awesome Lists containing this project

README

        

# Repo Share

A NodeJS app generating an iframe based on information about your repository, so you can show off your portfolio in an elegant way.

# License

This repository is licensed under MIT License

# Technologies used

* Languages:
* JavaScript
* HTML
* CSS
* Pug
* NodeJS Libraries:
* Express
* Octokit
* Pug

# API Reference

* `/gh/:user/:repo` - Send a request to this route in order to generate an iframe based on `:user` and `:repo` parameters.
**Example:**
`/gh/Cimlah/Repo-Share` will send you:

but not in a form of an *iframe*. The goal here is to only generate an HTML. Iframe customisation is up to end-user.
* `/raw/:user/:repo` - Get source code of iframe's HTML. For example, if you used `/gh/Cimlah/Repo-Share`, it is the same, but gives you an unrendered HTML.
* `/iframe-css` - Get source code of the *iframe* CSS
* `/icon/:icon` - Get icon files used in the *iframe*. Possible values:
* `star`
* `gitfork`
* `script`
* `/` - Display the main page
* `/about` - Display the *ABOUT* subpage

## Directory structure

### ***data***
Here is only one file, an encrypted JSON with my GitHub API key. Delete it if you want to clone this repo, since in encrypted state, it won't work properly

### ***my_modules***
#### **create-iframe**
Here are files needed to create an HTML for the *iframe*. It consists of:
* `icons` directory
* `create-iframe.js`, which passes data to a function generating an HTML out of Pug file
* `iframe.css` - a design for the generated HTML
* `iframe.pug` - a Pug file, which takes arguments from `create-iframe.js` in order to generate an HTML with proper data

**octokit.js** - connect to the *GitHub API* and get needed data, which is:
* Owner of a repository
* Name of a repository
* Link to a repository
* Description of a repository
* Owner's avatar
* Count of stargazers
* Count of forks
* Main language of a repository

### ***public*** - Frontend files
#### **css**
CSS files for the frontend

#### **html**
*Actually* Pug files for the frontend

#### **images**
Images used in HTML files on the frontend

#### **js**
JavaScript files used for the frontend

### ***/ (root directory of the repository)***
* `.gitattributes`
* `.gitignore`
* `index.js` - HTTP server code with all the routes in API
* `LICENSE` - a MIT LICENSE file
* `package-lock.json` - information about this Node package
* `package.json` - information about this Node package
* `README.md` - a README file (the file you're reading right now)