Giter Site home page Giter Site logo

baronrustamov / useful-forks.github.io Goto Github PK

View Code? Open in Web Editor NEW

This project forked from useful-forks/useful-forks.github.io

0.0 0.0 0.0 10.32 MB

Improving GitHub's Forks list discoverability through automatic filtering. The project offers an online tool and a Chrome extension.

Home Page: https://useful-forks.github.io/

License: MIT License

JavaScript 78.15% CSS 3.15% HTML 18.70%

useful-forks.github.io's Introduction

useful-forks banner

Useful Forks

License Issues


Adding a sorted list of starred forks to the GitHub forks page. Results are filtered out if there were never any commits pushed on the main branch since the fork was created.

This is meant to help increase the discoverability of useful forks of open-source projects.

Sometimes, a project might be abandoned, or someone had a different idea of how it should be implemented... and when you go looking for those interesting forks, you find yourself searching through potentially hundreds of them. This tool is here to help you discover the hidden jewels you were looking for!

Table of Content


Releases

The project is released as:

  1. A website: great for people that just want to use this tool occasionally.
  2. A Chrome extension: has the advantage of always performing the search whenever you open a project's GitHub Forks page.
  3. A feature in refined-github
  4. A bookmarklet

Online tool

The project is available online thanks to GitHub Pages.

You can query repository directly with the URL. Here is an example: https://useful-forks.github.io/?repository=kotcrab/vis-ui

website example

Chrome extension (WIP)

Not published yet. If you want to install it:

  1. Clone this repository
  2. Change the script file so that GITHUB_ACCESS_TOKEN's value is that of an Access Token
  3. Go to the chrome://extensions URL
  4. Enable Developer mode (switch at the top-right)
  5. Click Load unpacked (button at the top-left)
  6. Select the plugin folder

Once it's activated, the extension will automatically trigger itself whenever you open a Fork page, as shown by the GIF below:

example

refined-github

refined-github is an ensemble of tools and tweaks aimed at improving your GitHub experience.

useful-forks is part of the dozens of features provided. In that context, it appears as a button which redirects you to the useful-forks website:

screenshot

Bookmarklet

The online tool can be used as a bookmarklet. To add one manually, press Ctrl+D to create a new bookmark and add this code in the URL field:

javascript:!function(){if(m=window.location.href.match(/github\.com\/([\w.-]+)\/([\w.-]+)/),m){window.open(`https://useful-forks.github.io/?repo=${m[1]}/${m[2]}`)}else window.alert("Not a GitHub repo")}();

When you're viewing a GitHub repo in your browser, you can press the newly created bookmarklet and this will open the online tool for the repo in a new tab.

How it works

Activity_Diagram

This Activity Diagram (UML) should clarify a bit the inner-workings of the algorithm, and why it may some times require so many API calls.

Contributing

If you want to help, the structure of the repo is rather simple. In terms of folders:

  • website contains the website
  • plugin contains the Chrome Extension

Website instructions

To run the website locally, you will need:

  • NodeJS (suggested v14.15+)
  • NPM (suggested v6.14+)

Bring a terminal to the website folder and execute npm install, and then npm run dev.

If after running npm run dev you get an error that mentions "code: 'ERR_OSSL_EVP_UNSUPPORTED'", this should be able to help.

Whenever you want to test changes to the src/queries-logic.js file, you will need to re-execute npm run dev for dist/main.js to recompile.

Credits

  • Thanks to raeleus for his design of the logo!
  • Thanks to jkunstwald for allowing me to apply the MIT license to what has been expanded from his own initial work. Here is a list of the improvements that were made:
    • Recursive search of all sub-forks
    • GitHub API's Watchers value is bugged so it was removed
    • Implement authenticated requests to the GitHub API (which increases the limit of calls)
    • Added some minimal feedback for certain edge-cases
    • Created an actual website for the feature
    • Position the chrome extension's results where they won't move the other links of the page
  • Thanks to star-history's open-source website which I adapted for this project

useful-forks.github.io's People

Contributors

awkwardpeak7 avatar dependabot[bot] avatar fregante avatar ibob avatar jkunstwald avatar lucaslarson avatar odnar-dev avatar payne911 avatar

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.