All Projects → kvnxiao → sort-awesome-lists

kvnxiao / sort-awesome-lists

Licence: MIT license
Sorts awesome lists by number of stars in each GitHub repository

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to sort-awesome-lists

js-deep-sort-object
Simple module to sort objects recursively by its keys
Stars: ✭ 19 (-66.07%)
Mutual labels:  sort
jquery-google-reviews
simple jquery Plugin that utilizes Google API to get data from a Place on Google Maps
Stars: ✭ 33 (-41.07%)
Mutual labels:  stars
NaturalSort.Extension
🔀 Extension method for StringComparison that adds support for natural sorting (e.g. "abc1", "abc2", "abc10" instead of "abc1", "abc10", "abc2").
Stars: ✭ 94 (+67.86%)
Mutual labels:  sort
repository
[PHP 7] Implementation and definition of a base Repository in Domain land.
Stars: ✭ 26 (-53.57%)
Mutual labels:  sort
Static-Sort
A simple C++ header-only library for fastest sorting of small arrays. Generates sorting networks on compile time via templates.
Stars: ✭ 30 (-46.43%)
Mutual labels:  sort
batching-toposort
Efficiently sort interdependent tasks into a sequence of concurrently-executable batches
Stars: ✭ 21 (-62.5%)
Mutual labels:  sort
Data-Structure-Algorithm-Programs
This Repo consists of Data structures and Algorithms
Stars: ✭ 464 (+728.57%)
Mutual labels:  sort
Structurex
Javascript visualizer of algorithms and data structures.
Stars: ✭ 32 (-42.86%)
Mutual labels:  sort
astrolabe
Make your own cardboard model astrolabe
Stars: ✭ 32 (-42.86%)
Mutual labels:  stars
export-github-stars
View / Sort / Export your Starred repositories.
Stars: ✭ 124 (+121.43%)
Mutual labels:  stars
sublime-postcss-sorting
Sublime Text plugin to sort CSS rules content with specified order.
Stars: ✭ 19 (-66.07%)
Mutual labels:  sort
yolo deepsort
Fast MOT base on yolo+deepsort, support yolo3 and yolo4
Stars: ✭ 47 (-16.07%)
Mutual labels:  sort
lua sort
Lua pure sort algorithm based on lib_table.c (from LuaJIT 2.1.0)
Stars: ✭ 21 (-62.5%)
Mutual labels:  sort
sorting-visualization
🎨 A command-line tool to generate GIF which can display sorting algorithm
Stars: ✭ 37 (-33.93%)
Mutual labels:  sort
BasicExercises
📘 Personal basic practice test playground.
Stars: ✭ 84 (+50%)
Mutual labels:  sort
gulp-sort
Sort files in stream by path or any custom sort comparator
Stars: ✭ 22 (-60.71%)
Mutual labels:  sort
PixelGlitch
Image glitch visualization using various Pixel Sorting methods for Processing
Stars: ✭ 25 (-55.36%)
Mutual labels:  sort
SortingLab.jl
Faster sorting algorithms (sort and sortperm) for Julia
Stars: ✭ 20 (-64.29%)
Mutual labels:  sort
arr-sort
🎉 多重条件下的数组排序方法
Stars: ✭ 20 (-64.29%)
Mutual labels:  sort
vim-sort-imports
vim port of import-sort. Sort javascript/typescript imports
Stars: ✭ 32 (-42.86%)
Mutual labels:  sort

sort-awesome-lists

Sort awesome lists by the number of stars in each GitHub repository, for each sub-heading / section in the list.

For example:

This is a CLI application written in Go and uses 0 external dependencies.

Sorting by stars implies parsing the original awesome-list README.md file and outputting a modified version where each section is sorted in descending order by the number of stars (for each valid github repository).

GitHub repository detection involves checking each markdown bullet point if it contains a username.github.io/repo or github.com/username/repo link. Otherwise, if a project website is linked, the application will attempt to download and parse the webpage to check if a GitHub repository link exists within the HTML.

How to use

sort-awesome-lists is a CLI application. Build it and run in your terminal.

Building

go build -o sort-awesome-lists main.go

Creates an executable file called sort-awesome-lists in your directory. Run in your terminal with ./sort-awesome-lists

Usage

Usage of sort-awesome-lists:
  -bs int
        number of concurrent requests to send to GitHub API at a time, per each block found. (default 5)
  -o string
        name of file to write output to if set, otherwise prints to stdout
  -t string
        GitHub personal access token
  -v    prints debug messages to stdout if true (default = false)

A GitHub personal access token is required by the -t flag as this CLI application hits the GitHub API for repository statistics. The token allows one to access the GitHub API at a rate-limit of 5000 requests per hour. A personal access token with 0 permissions checked can be generated and used (go here to create one if you don't already have one: https://github.com/settings/tokens)

This tool currently supports username.github.io/repo and github.com/username/repo detection.

Example:

./sort-awesome-lists -t="$token" -o="awesome-go-sorted.md" https://raw.githubusercontent.com/avelino/awesome-go/master/README.md

where $token is your github personal access token.

The above example will download and parse the markdown file from https://raw.githubusercontent.com/avelino/awesome-go/master/README.md, and output a sorted markdown output in a file called awesome-go-sorted.md in the same working directory.

Known Issues / Gotchas

For entries in a list that do not directly link to github.com/username/repo or username.github.io/repo, the webpage will be downloaded and parsed to check if a GitHub repository link exists within the HTML. This means that this tool will be unable to pick up any links for websites that use a JavaScript framework and require JavaScript to render the page.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].