Code Monkey home page Code Monkey logo

gitfolio's Introduction

gitfolio's People

Contributors

bcliden avatar dependabot[bot] avatar donisaac avatar gelbpunkt avatar gianpaj avatar herrozerro avatar imfunniee avatar jakehamilton avatar made-by-traxam avatar overlineink avatar owen-roberts avatar pliavi avatar rhysd avatar rohanmohapatra avatar rohit-gohri avatar soonoo avatar sunn-e avatar vocalfan avatar yrong avatar zbrasseaux avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gitfolio's Issues

Social media integration to import data

What feature should be added?

This feature adds Twitter, Linkedin and Medium links to your profile and imports professional(employers, projects) and social information from there.

Why should this feature be added?

Since a portfolio is being made, adding these links help improve the profile better and also adds employer info

add feature

Added upload screenshot function, you can upload command line demo screenshot

Build breaks with emojis in personal description

Error:

Building HTML/CSS...
Error: Emoji named '//amzn.to/2a418Q2 - maintainer of https' not found
    at Object.of (.../gitfolio/node_modules/github-emoji/index.js:96:15)
    at convertToEmoji (.../gitfolio/build.js:55:28)
    at .../gitfolio/build.js:102:56
    at process._tickCallback (internal/process/next_tick.js:68:7)

How to reproduce:

git clone https://github.com/imfunniee/gitfolio.git
cd gitfolio
npm i
node build --name lmammino

Pages website shows only the README.md file

I follow the basic instructions. Everything looks successful. When I run index.html in my browser, I only see "Work." in plain text. I save the repo and publish the page, only to see the readme.md file. Any help is appreciated!

Repo Classification

What feature should be added?

Repositories classification feature could be added, such as "research", "course project", "engineering project" and so on...

Why should this feature be added?

It didn't show all mine repositories, and "work" didn't represent the feature of the repositories, so I suggest the repo classification features could be added.

logo

Hello there. I am a graphic designer. I want to design a logo for the read. If you like it. I will give you present.

Subsequent builds fail with: undefined:1

I followed the steps in the README.md and performed an initial build, to see it it worked - then on subsequent tries (to alter the theme and background), I received the error: -

undefined:1



SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at /home/myuser/gitfolio/update.js:6:17
    at FSReqWrap.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:53:3)

I managed to figure out that if I reset the config.json before rebuilding, subsequent [re]builds work: -
git checkout -- config.json

"unknown" Error

System Information
Name Value
OS Mac/Windows/Linux
Node Version v10.16.0
Project Version fatal: not a git repository (or any of the parent directories): .git
What is the current behavior?

When gitfolio run is run in cmd it does this: http://spacella.xyz/images/i/i977r.png

What is the expected behavior?

It should run the gitfolio.

Logs

/usr/bin/env: ‘node\r’: No such file or directory

System Information
Name Value
OS Linux
Node Version v12.11.0
Project Version 5717f17
What is the current behavior? While running `gitfolio ui` it returns /usr/bin/env: ‘node\r’: No such file or directory
What is the expected behavior? It should run normally and start ui.
Logs

Weird look on mobile

System Information
Name Value
OS Fedora 30/Android
Node Version 10.16.0
Project Version 0.1.5 (latest commit as of this issue)
What is the current behavior?

Screenshot_20190620-153624
Screenshot_20190620-153633

What is the expected behavior?
  1. The image is still wrong, it should be whole size. Seems the CSS didn't fix it (#49)
  2. The boxes are all different size and some have overflow and aren't centered
Logs

None relevant


How can I solve the problem of "Invalid regular expression flags"?

I have just npm i, and I met the problem when I typed in node build --name blabla, it just said that "SyntaxError: Invalid regular expression flags". It turns out at the line if (text.match(/(?<=:\s*).*?(?=\s*:)/gs) != null) { has a trouble. What happens? My OS is Windows10. Thanks a lot!

SyntaxError: Unexpected token

System Information
Name Value
OS Linux Ubuntu 16.04
Node Version v4.2.6
Project Version 4a28721
What is the current behavior? After install with `npm i gitfolio -g`, and then run `gitfolio build AyraHikari` i got this error
What is the expected behavior? Build this project
Logs
root@Ayra:~/gitfolio# gitfolio build AyraHikari
/root/gitfolio/build.js:9
const { updateHTML } = require('./populate');
      ^

SyntaxError: Unexpected token {
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:374:25)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Function.Module.runMain (module.js:442:10)
    at startup (node.js:136:18)
    at node.js:966:3

Getting ' no such file or directory, open 'C:\git\gitfolio\myUsername\package.json' when building

Hi!

I clone the repo down, ran npm i to install all packages but then when I try to build, it looks like the build script is looking for a nonexistent folder?

C:\git\gitfolio>npm build --dark --name 1RedOne
npm ERR! path C:\git\gitfolio\1RedOne\package.json
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open 'C:\git\gitfolio\1RedOne\package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Stephen\AppData\Roaming\npm-cache\_logs\2019-05-19T15_23_32_664Z-debug.log

I do have a package.json file in the root of the repository though.

type package.json
{
  "name": "gitfolio",
  "version": "0.1.1",
  "description": "portfolio website for showcasing your work",
  "main": "build.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "imfunny",
  "license": "ISC",
  "dependencies": {
    "commander": "^2.20.0",
    "github-emoji": "^1.1.0",
    "got": "^9.6.0",
    "jsdom": "^15.0.0"
  }
}

can undefined be avoided somehow?

I've noticed that all your repositories have description.

Well, lots of people have repos without it.
And in that case it displays text 'undefined'.
It's kinda really unhappy solution.

can this somehow be avoided by inserting :octocat: or something similar, maybe?

Can't install gitfolio with 'npm i gitfolio -g'

System Information
Name Value
OS Linux
Node Version v12.10.0
Project Version
What is the current behavior?
not installing
What is the expected behavior? Should run
don't know
Logs

npm WARN checkPermissions Missing write access to /usr/lib/node_modules
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules'
npm ERR! [Error: EACCES: permission denied, access '/usr/lib/node_modules'] {
npm ERR! stack: "Error: EACCES: permission denied, access '/usr/lib/node_modules'",
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/lib/node_modules'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/l/.npm/_logs/2019-09-15T06_42_52_805Z-debug.log

Function convertToEmoji() breaks on regex

$ node build name --atulin
E:\Software\Laragon\www\gitfolio\populate.js:12
    if(text.match(/(?<=:\s*).*?(?=\s*:)/gs) != null){
                  ^

SyntaxError: Invalid regular expression flags
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:599:28)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (E:\Software\Laragon\www\gitfolio\build.js:3:22)

Readme confusion

To run your website open index.html or simply type index.html and hit enter in your terminal.

Typing index.html and hitting enter? What?

Add --count option support

What feature should be added?

Only show top 5/10 repos or something like pagination

Why should this feature be added?

Output Directory Not Stored in config.json

Currently, the --output | -o flag designates an output directory. However, when updateHtml() is called, it has no way of knowing where the user specified the output directory to be. The output directory should be stored in the config.json file, and the updateHtml() should utilize the value stored there.

Can't build: HTTPError: Response code 403

System Information
Name Value
OS macOS Mojave (10.14.3)
Node Version v10.15.3
Project Version 911a23c
What is the current behavior?

Node can't build the repository due to an unexpected HTTP 403 status code emitted at EventEmitter.emitter.on in file node_modules/got/source/as-promise.js:74:19.

Command line used to build the repository: node build --name Lancern

Files in dist/ after executing the build command:

  • blog.json
  • config.json
  • index.css

Output of the build command is attached in the Logs part.

What is the expected behavior?

The npm build should succeed and eventually generate an index.html file under the dist/ directory.

Logs

Output of npm build:

Building HTML/CSS...
{ HTTPError: Response code 403 (Forbidden)
    at EventEmitter.emitter.on (/Users/lancern/Documents/Development/Source/gitfolio/node_modules/got/source/as-promise.js:74:19)
    at process._tickCallback (internal/process/next_tick.js:68:7)
  name: 'HTTPError',
  host: 'api.github.com',
  hostname: 'api.github.com',
  method: 'GET',
  path: '/users/Lancern/repos?sort=created&order=asc&per_page=1200',
  socketPath: undefined,
  protocol: 'https:',
  url:
   'https://api.github.com/users/Lancern/repos?sort=created&order=asc&per_page=1200',
  gotOptions:
   { path: '/users/Lancern/repos?sort=created&order=asc&per_page=1200',
     protocol: 'https:',
     slashes: true,
     auth: null,
     host: 'api.github.com',
     port: null,
     hostname: 'api.github.com',
     hash: null,
     search: '?sort=created&order=asc&per_page=1200',
     pathname: '/users/Lancern/repos',
     href:
      'https://api.github.com/users/Lancern/repos?sort=created&order=asc&per_page=1200',
     retry:
      { retries: [Function],
        methods: [Set],
        statusCodes: [Set],
        errorCodes: [Set] },
     headers:
      { 'user-agent': 'got/9.6.0 (https://github.com/sindresorhus/got)',
        'accept-encoding': 'gzip, deflate' },
     hooks:
      { beforeRequest: [],
        beforeRedirect: [],
        beforeRetry: [],
        afterResponse: [],
        beforeError: [],
        init: [] },
     decompress: true,
     throwHttpErrors: true,
     followRedirect: true,
     stream: false,
     form: false,
     json: false,
     cache: false,
     useElectronNet: false,
     method: 'GET' },
  statusCode: 403,
  statusMessage: 'Forbidden',
  headers:
   { date: 'Tue, 21 May 2019 04:27:32 GMT',
     'content-type': 'application/json; charset=utf-8',
     'transfer-encoding': 'chunked',
     connection: 'close',
     server: 'GitHub.com',
     status: '403 Forbidden',
     'x-ratelimit-limit': '60',
     'x-ratelimit-remaining': '0',
     'x-ratelimit-reset': '1558413235',
     'x-github-media-type': 'github.v3; format=json',
     'access-control-expose-headers':
      'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type',
     'access-control-allow-origin': '*',
     'strict-transport-security': 'max-age=31536000; includeSubdomains; preload',
     'x-frame-options': 'deny',
     'x-content-type-options': 'nosniff',
     'x-xss-protection': '1; mode=block',
     'referrer-policy': 'origin-when-cross-origin, strict-origin-when-cross-origin',
     'content-security-policy': 'default-src \'none\'',
     'content-encoding': 'gzip',
     'x-github-request-id': 'lol' },
  body:
   '{"message":"API rate limit exceeded for `dude your ip was here` (But here\'s the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)","documentation_url":"https://developer.github.com/v3/#rate-limiting"}' }

Should I configure something to make the build process work?

More repositories

Hi :)

It would be cool if not only the repositories created by the user would be listed but also the repos where you contributed.

Would be a nice feature!

Thanks!

Org repos

What feature should be added?

The possibility to list repositories that are part of an organisation.

Why should this feature be added?

I've put pretty much all of my repos under an org with at least two people per repository allowed to write to them in case I for some reason become unable to tend to them (because it's stuff used in production).

These are still my projects and I would like to be able to add them. If this is already possible and I'm just blind, I do apologise.

`run` command doesn't work

System Information
Name Value
OS Linux
Node Version v10.13.0
Project Version 0.1.3
What is the current behavior? gitfolio run errors
What is the expected behavior? Should start express server.
Logs
ctrl + c to exit
Error: ENOENT: no such file or directory, stat '/index.html'

The problem seems to be here:

app.use(express.static(__dirname + '/dist'));

This should be ${outdir}/dist

Online service

Can add online service through your website?
I mean something like this:
https://imfunniee.github.io/u/{username}
I like the template and I think you can redirect traffic to your website doing that

Automatically update repo details

What feature should be added?

Automatically updating stars, forks, and other details.

Why should this feature be added?

To do gitfolio update, you need to have access to your PC, without which you cannot update your website. It will also reduce the number of times we need to manually update the website.

Typo in readme

There is a typo in your readme. Cutsom should be custom.

Make an all repositories opt in

First kindly check this out.
Hi @imfunniee could you kindly make both types of repositories opt in. Your theme is very good, very well designed. The blacks are deep so are the whites. I dont know how you made this. Thank you very much.

I would really like an option to completely remove the repositories and have just a blog.

Or maybe have the blog on the home page and repositories on another page.

Or maybe create another branch with just the blog and the ui. Because th ui is also slick. By doing it myself the ui failed to write posts.

I really like how the blog looks. I tried doing it myself but i must have broken something as i can nolonger write blog posts. You can see my implementation here: https://stephenajulu.com/ajulufolio/
Kindly help me.

Text not showing fully

When I load my site, the title of the repo cards don't fully show. This usually gets fixed when I refresh.

Before refresh:

Screenshot_2019-05-09 BenTearzz(2)


After refresh:

Screenshot_2019-05-09 BenTearzz(1)


Overpass the 30 repositories limit

The GitHub API limit every endpoints to 30 results (source). For a user with more than 30 repositories this is a problem as only part of his work is shown.

A temporary workaround would be to add the per_page query param to a higher number to get all the repos of the user.

The definitive fix would be to request several times the API as explained in the docs.

Can't build, unexepected end of JSON

System Information
Name Value
OS Arch linux
Node Version 11.15.0
Project Version 0.1.1
What is the current behavior? running build command worked once but doesn't work anymore ?
What is the expected behavior? Being able t obuild
Logs
node build --name lamarios
Building HTML/CSS...
undefined:1



SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at /mnt/services/docker/gitfolio/data/build.js:39:29
    at FSReqCallback.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:54:3)

No repository field issue

sunny@sunny-VirtualBox:~/gitfolio$ npm i
npm WARN [email protected] No repository field
I ran this again
$ node build --name sunn-e
I'm getting this error /home/sunny/gitfolio/build.js:3
const {updateHTML} = require('./populate')
^

SyntaxError: Unexpected token {
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3

Over 100 repos not listed

Name Value
OS Mac/Linux
Node Version v10.15.0
Project Version d84d6fd

What is the current behavior?

I think the current behavior list only 100 repos and over 100 repos are not listed. I have over 100 repos. So not all repos are not listed and I use "sort desc" but they are not all my repos.

I think the problem happens in the following code.
https://github.com/nwtgck/gitfolio/blob/d84d6fd2b497ec726dca016364835b5b758cf61a/populate.js#L39

I think ?page=1, ?page=2 query parameters can be useful for this purpose.
https://developer.github.com/v3/repos/

What is the expected behavior?

All repos should be listed from GitHub.

Order repos + forks across rows, rather than down columns ?

What feature should be added?

Order the repos across the rows, rather than down one column, then the other.

Why should this feature be added?

Presently, the second column consists of the bottom half of the repo list. This means that the top items there are very stale, making the sorting/ordering ineffective.

Solution

I've implemented a layout with css grid that orders the repos by row, so that the sort and order methods are more effective (top of page: most starred, bottom: least starred, for example).

Is there any interest in bringing this upstream? The repo blocks don't stack identically, as the repos all have to have a uniform height on a grid, but I do think it's an improvement. Mobile looks the same. I'll attach a screenshot below. I'm happy to make changes if a PR is in order.

of course you can also see it live here: https://bliden.github.io/

Screenshot_20190524_185829

Blog folder name is not used in links

System Information
Name Value
OS Windows
Node Version v10.15.0
Project Version 0.1.4
What is the current behavior? When creating a blog entry using `gitfolio blog "Test Blog" -f test-blog`, a folder named `test-blog` is created. The link that will be created in the main page HTML file references `/blog/Test%20Blog` (which returns a 404 error).
What is the expected behavior? The link should point to `/blog/test-blog` as the blog file is created in that directory.
Logs ``` None ```

[Idea] Wrap all the commands in CLI

A simple CLI using something like commander or any other argv parser (yargs?).
This could have the build, blog, update commands.

Then this could be published to npm too, and one would be able to run it as:
npx gitfolio build --username xxx

I could open a basic PR if this seems like a good idea.

Profile image displaying wrong on mobile

System Information
Name Value
OS Linux (Fedora 30)
Node Version v10.15.3
Project Version cloned this afternoon
What is the current behavior?

The profile image displays wrong on my Android 7.1 device. I get the same result in Chrome 74 and Firefox 66, displays correct with Chrome on PC.
https://i.imgur.com/WX6vVBh.png (screenshot with Chrome)

What is the expected behavior?

The display is correct on your example. (A square)
https://i.imgur.com/WkGL25k.png.

PS: (seems too easy to make a new issue) Can you make the person link actually a hyperlink? :)

Logs
none relevant

Request: Easier blog customization from console

So currently blogs are created like so:
node blog --title my-first-blog

This however seems misleading, because when you open up the page created, both the tab title and the blog title hasn't been changed.

It would be nice if something like this could be created:
node blog --title "Some Title Here" --subtitle "Some subtitle here" --folder some-folder-title --pagetitle "Title in tab!"

--folder and --pagetitle should be optional, if it hasn't been specified, it should use the --title for the tab, and replace whitespace with hyphens for the folder.

Then in the actual blog.js file it would simply be something like:

document.getElementsByTagName("title")[0].textContent = pagetitle;
document.getElementsByTagName("blog_title")[0].textContent = title;
document.getElementsByTagName("blog_sub_title")[0].textContent = subtitle;

I could send a pull requests with changes made to blog.js if you'd want that.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.