Compare commits
445 Commits
github_act
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
6fe252d2bf | ||
|
03bb39663b | ||
|
57c9347165 | ||
|
789e1b8e69 | ||
|
600c03aff8 | ||
|
1c9f0ac67f | ||
|
de7a58f3d0 | ||
|
15415e7f12 | ||
|
0be4ca833e | ||
|
e12cffca9f | ||
|
b8a76ff2d2 | ||
|
c73ad7cbab | ||
|
b83ab8c003 | ||
|
292009cbdd | ||
|
dfbf00f82e | ||
|
4594eb8094 | ||
|
58cb7d7f96 | ||
|
e8afe070bd | ||
|
ea31c6f1d3 | ||
|
b5dd213fe9 | ||
|
9f20c2c531 | ||
|
cf2af01713 | ||
|
f0a79cc316 | ||
|
5002072152 | ||
|
97421192c3 | ||
|
6a6f57f16e | ||
|
21da82682e | ||
|
c24d388db8 | ||
|
9a7068347a | ||
|
32ec8ce4ab | ||
|
cd776af871 | ||
|
4a482aa574 | ||
|
0027cf1c9d | ||
|
7684cd04dd | ||
|
6f65bd1eed | ||
|
782d028045 | ||
|
2e5f409688 | ||
|
70a204445c | ||
|
49b46dc61c | ||
|
f9b0cd8ce7 | ||
|
3b317a61f2 | ||
|
ede52b5aa1 | ||
|
7d176d1d74 | ||
|
95bb638128 | ||
|
ba1ca00a72 | ||
|
bee201753e | ||
|
0d656e6a59 | ||
|
4d5468e53a | ||
|
32c161d979 | ||
|
85a2f577db | ||
|
332d2daf27 | ||
|
7d31f3b867 | ||
|
89934f3aa6 | ||
|
4e9326b4a6 | ||
|
c3f01813b3 | ||
|
11ea6622ba | ||
|
2724b5f9f1 | ||
|
e2fe551ff7 | ||
|
453bc1e34c | ||
|
88219d7c95 | ||
|
4469a7ca5b | ||
|
3ee7845e1e | ||
|
9f973d9855 | ||
|
5ba5ffda40 | ||
|
b1aaa14e2d | ||
|
76ab2444ff | ||
|
2005df729f | ||
|
52681fa23a | ||
|
b2efc70138 | ||
|
17944805a6 | ||
|
eab0afbde5 | ||
|
9412ce3e2f | ||
|
300e5385e2 | ||
|
ec9e52d53c | ||
|
e98b924b52 | ||
|
3f8eef19d7 | ||
|
d620e10276 | ||
|
ce15c80040 | ||
|
d9d7ca6549 | ||
|
a8d758c560 | ||
|
643a9c01fb | ||
|
3f236b1ddb | ||
|
3b59e92d55 | ||
|
ae4e18c265 | ||
|
6390d09ec0 | ||
|
b6ba79baf1 | ||
|
9984ddd129 | ||
|
77e2c66be4 | ||
|
594242041e | ||
|
503b6f91ae | ||
|
1f1a532199 | ||
|
1d8f88f2e9 | ||
|
762c7ef19b | ||
|
53632b0f39 | ||
|
7c92acc53e | ||
|
4203cff136 | ||
|
df534545ac | ||
|
8fceba0cf6 | ||
|
531b96a4de | ||
|
4b4232b445 | ||
|
708c6729bb | ||
|
5c1d926a7c | ||
|
f048c067e2 | ||
|
bd1831bb64 | ||
|
0027a6f53c | ||
|
685cefbe93 | ||
|
2522404991 | ||
|
4d590d696e | ||
|
d39c878ce7 | ||
|
66915da601 | ||
|
93acd2e93a | ||
|
b20db1d3ba | ||
|
6d25b19141 | ||
|
35643fc8d4 | ||
|
fd983e7bc4 | ||
|
50bf15de5d | ||
|
fcb08b53f3 | ||
|
492c6797b3 | ||
|
8331cef2bc | ||
|
e7acf6facf | ||
|
97acaeb586 | ||
|
88162f8b4f | ||
|
0e3e395b6f | ||
|
c187fbe29c | ||
|
523bc5b751 | ||
|
2185188a7f | ||
|
760fb8fe2c | ||
|
2d88ac774c | ||
|
28358c014e | ||
|
9358f3a26b | ||
|
9a10477588 | ||
|
4d08f0e9f3 | ||
|
7675448f7d | ||
|
b51c330f98 | ||
|
186983888d | ||
|
2695c75c34 | ||
|
f87e43109c | ||
|
dc590bc4b5 | ||
|
d9997463f2 | ||
|
bd02c74468 | ||
|
790eb7e0c7 | ||
|
f4fa23acfb | ||
|
a2a1e99f44 | ||
|
01fb5c1396 | ||
|
fd3507b00b | ||
|
9ccc5eeb77 | ||
|
cb0b91d361 | ||
|
c466cb6a8b | ||
|
d62abfb153 | ||
|
8b9f3a35b5 | ||
|
bf8aa2e40c | ||
|
ff9ae02bba | ||
|
f5e542e696 | ||
|
9f94586c52 | ||
|
21138a3a84 | ||
|
6a9ff12b97 | ||
|
6c453dcc69 | ||
|
e30616682e | ||
|
d5ef2c1da1 | ||
|
22731cc1cc | ||
|
1351ccf99e | ||
|
15564b87d9 | ||
|
dcbb18d04f | ||
|
a314be1e01 | ||
|
8f10fa236e | ||
|
a7effc2bf6 | ||
|
00f228e807 | ||
|
f4702a5f10 | ||
|
87f20ec719 | ||
|
d793d58122 | ||
|
5af3edf144 | ||
|
d6d83516bd | ||
|
d35178939c | ||
|
763e095a7a | ||
|
6bfce93a9a | ||
|
e814560514 | ||
|
eda022352f | ||
|
ce29bd1531 | ||
|
0fd96c636e | ||
|
92b96cf00c | ||
|
a0781bd4df | ||
|
79dc0e1388 | ||
|
2805d53ffa | ||
|
3987f2fc89 | ||
|
b087ff0563 | ||
|
537a15b882 | ||
|
46ec0810d8 | ||
|
3d3dc206c6 | ||
|
ca722b4225 | ||
|
a40f6d9821 | ||
|
5d33e1ec60 | ||
|
58b6d3e23b | ||
|
5e68ed67c4 | ||
|
7acc0651ea | ||
|
d7f6cb9c56 | ||
|
c25a28d982 | ||
|
6e9a37d820 | ||
|
bb81420d63 | ||
|
5ac8802e2c | ||
|
0159dc204a | ||
|
fa5808b3ad | ||
|
25cab4855b | ||
|
0be6f3deaa | ||
|
46748828ba | ||
|
c81d70fe39 | ||
|
a22f6e3e57 | ||
|
7c5e9a14d1 | ||
|
9f34fc536d | ||
|
ae668cb78f | ||
|
e3f2d544dc | ||
|
67cce85d3e | ||
|
b2c26ce57b | ||
|
66a49c370b | ||
|
6ee5d16dd4 | ||
|
400e9260c0 | ||
|
75092b1598 | ||
|
9ae877711d | ||
|
e1dbdb6e32 | ||
|
0551cc04ad | ||
|
43e4be4b14 | ||
|
df7e528de4 | ||
|
d36dce8828 | ||
|
96ae753ec6 | ||
|
670f1431b9 | ||
|
1e1ccdb065 | ||
|
9d8ab9a046 | ||
|
7d0d97b99d | ||
|
d18ee9b8f7 | ||
|
f9ea420872 | ||
|
9d545cfaf4 | ||
|
28ad7275cb | ||
|
a90ad170b0 | ||
|
4a56bcbd74 | ||
|
b74c0bceaa | ||
|
81e402ae5f | ||
|
8ad192fe03 | ||
|
46c435b697 | ||
|
ede697a4dd | ||
|
82b9bf3561 | ||
|
998c70647a | ||
|
590b65e0ac | ||
|
48f342af9e | ||
|
b4841f446b | ||
|
d56a626ad1 | ||
|
dc8b79e344 | ||
|
8d82390699 | ||
|
f876edf2b0 | ||
|
0c887772e9 | ||
|
ed5d85459e | ||
|
dc49b544a0 | ||
|
d340e88a48 | ||
|
9fbf54b074 | ||
|
87cf05801f | ||
|
e1cd8c30e0 | ||
|
4b6897a746 | ||
|
9954bafd69 | ||
|
33bf7e27bd | ||
|
cce39820e8 | ||
|
4ab8781049 | ||
|
38f9c70b45 | ||
|
e3dd27f200 | ||
|
fe522d8e04 | ||
|
6d81d0f958 | ||
|
8a91b3d63e | ||
|
983aa2bf7f | ||
|
f53ce48163 | ||
|
9f6d680e51 | ||
|
96caf7db9b | ||
|
7daffc1e33 | ||
|
3cc79adae9 | ||
|
2c777f4e79 | ||
|
de2c49d2df | ||
|
edfc92fc17 | ||
|
7429c0a1d5 | ||
|
71c4558c77 | ||
|
6b78154b87 | ||
|
4ba34ff8af | ||
|
87e62f2a42 | ||
|
a4c8d79219 | ||
|
9e926b6316 | ||
|
18b965c5d8 | ||
|
1322088976 | ||
|
793d3cd76e | ||
|
8583ed64b7 | ||
|
91f6da0b46 | ||
|
336132dbf8 | ||
|
0b044e02d9 | ||
|
9752dc37d7 | ||
|
5a6f4bca9e | ||
|
16ea59a835 | ||
|
d8aa083f6e | ||
|
fde56b99a6 | ||
|
c1d1cfc008 | ||
|
e80a2690c3 | ||
|
536c0cee7e | ||
|
4b4a6688de | ||
|
be5c6deb04 | ||
|
a9e5ef4264 | ||
|
59868fb61b | ||
|
752a8234bc | ||
|
76de8e3d9e | ||
|
fb27d70691 | ||
|
287c16ba8a | ||
|
4cb60bf82a | ||
|
c4f4e9ad93 | ||
|
621162fb7c | ||
|
114b96a428 | ||
|
4e30574184 | ||
|
b01d67ae8b | ||
|
99332d3d43 | ||
|
ba55d85b6e | ||
|
ec009d1eca | ||
|
7f45b335ed | ||
|
a0449c4171 | ||
|
3136207b72 | ||
|
18db877472 | ||
|
b2686469a5 | ||
|
1e0c296a8b | ||
|
c0e1d588c7 | ||
|
1f85064d30 | ||
|
de8fd63964 | ||
|
4d05c0596b | ||
|
6b48393ba9 | ||
|
412043782c | ||
|
4e0a14907a | ||
|
853b0c04ee | ||
|
8adc0885c1 | ||
|
ef2cc0fda2 | ||
|
faee7c8b10 | ||
|
e6e7cc26ec | ||
|
43f68ff0e6 | ||
|
20be93604d | ||
|
68e8f9d8df | ||
|
ea603b73a6 | ||
|
96019e11e7 | ||
|
c66ac7db5e | ||
|
521997c532 | ||
|
f032a0b1e0 | ||
|
53d5f2a90e | ||
|
7b48a23eb7 | ||
|
b53c0001e2 | ||
|
76f6e8c8d9 | ||
|
23b6c3d15c | ||
|
5ce9304476 | ||
|
c17455c613 | ||
|
b828a81c7b | ||
|
4d32b25d37 | ||
|
994cfebeb4 | ||
|
8eba9bcdf4 | ||
|
ec9ff289c5 | ||
|
77ed4130ae | ||
|
277e6de0d8 | ||
|
993109a42d | ||
|
5dcf26d3f4 | ||
|
5adcbbfbad | ||
|
ae96ff2955 | ||
|
d97c0c012a | ||
|
a28cca3402 | ||
|
70c0e3b78b | ||
|
643313ba6e | ||
|
cb8e78d02f | ||
|
03a3043d95 | ||
|
69c953b194 | ||
|
1fa56a661e | ||
|
b02539d29e | ||
|
64a1af41fc | ||
|
0b51c444fa | ||
|
0a5734e47b | ||
|
b97b28c57c | ||
|
4d06a63360 | ||
|
4cdbcb6390 | ||
|
76dd2f0afc | ||
|
235bca87e9 | ||
|
133112c86f | ||
|
790fe2c6a8 | ||
|
06ed6184ff | ||
|
b9d3341098 | ||
|
8875f65e28 | ||
|
8f2a24ea36 | ||
|
dc76e290ee | ||
|
2499fe3061 | ||
|
2f42ba1532 | ||
|
1fd3fa2008 | ||
|
a048f2608c | ||
|
63a8a81a2e | ||
|
5d58245cbc | ||
|
28654d1bb6 | ||
|
138155d161 | ||
|
9464c0f17b | ||
|
93226b86a6 | ||
|
9a97fc95d1 | ||
|
7c84e46270 | ||
|
06ff314b1c | ||
|
aaa24f89c3 | ||
|
402bb96ae7 | ||
|
244676230a | ||
|
2e2f869620 | ||
|
62b08556b8 | ||
|
156318ed0b | ||
|
1cb62ebb2f | ||
|
9edf47fda2 | ||
|
606d5d2e7c | ||
|
793b6ae0c2 | ||
|
30d7207184 | ||
|
c81e221dc3 | ||
|
c0f45cbc4d | ||
|
a360d03fc2 | ||
|
bfc6cace06 | ||
|
44c8b71ba8 | ||
|
4968e506d5 | ||
|
277803ba82 | ||
|
c6dd81baf4 | ||
|
0e4f9a4fef | ||
|
ca6422395f | ||
|
e1b9f6090d | ||
|
bc7f1538e7 | ||
|
7ea6d81b6d | ||
|
a3c6f6e644 | ||
|
72d2b327b2 | ||
|
e5165c83b4 | ||
|
851fe4a107 | ||
|
9479186da6 | ||
|
78d2d9d407 | ||
|
71bf116091 | ||
|
d5e9f7db0c | ||
|
377bb96211 | ||
|
875506c92a | ||
|
10ff8e7549 | ||
|
045d7824e6 | ||
|
8e628ef08a | ||
|
832fd503b9 | ||
|
dddf278acd | ||
|
95151e352a | ||
|
e01307e092 | ||
|
3a8e0abd00 | ||
|
aed7c728dd | ||
|
e518bed3bd | ||
|
fcb55d247a | ||
|
0a50e845a2 | ||
|
edff0384c3 | ||
|
39f9834596 | ||
|
28e497391b | ||
|
7968113af1 | ||
|
234afb404f | ||
|
e1a381fdc6 |
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -1,3 +1,5 @@
|
||||
<!-- DO NOT DELETE THE TEXT BELOW. Please make sure relevant boxes are checked [x] -->
|
||||
|
||||
Thank you for taking the time to work on a PR for Awesome-Selfhosted!
|
||||
|
||||
To ensure your PR is dealt with swiftly please check the following:
|
||||
|
110
.github/workflows/monthly.yml
vendored
110
.github/workflows/monthly.yml
vendored
@ -1,110 +0,0 @@
|
||||
name: Monthly Checks
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 5 1 * *'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
create-issue:
|
||||
if: always()
|
||||
needs: [check_syntax, check_links, check_github_commit_dates]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: result
|
||||
- name: Create Issue template
|
||||
run: |
|
||||
printf '%s\n%s%s %s\n%s\n%s\n' '---' 'title: Monthly Checks - ' $( date +"%B %Y" ) 'labels: automated issue' '---' > .github/ISSUE_TEMPLATE.md
|
||||
echo -e '[](https://github.com/n8225/awesome-selfhosted/actions/workflows/monthly.yml)' >> .github/ISSUE_TEMPLATE.md
|
||||
echo -e '\n--------------------' >> .github/ISSUE_TEMPLATE.md
|
||||
echo -e '\n### Awesome_Bot link checks\n' >> .github/ISSUE_TEMPLATE.md
|
||||
jq -r '.[] | ["* [ ] ", "Line ", .loc, ": ", .link, ", ", .error] | join("")' ab-results-README.md-filtered.json >> .github/ISSUE_TEMPLATE.md || true
|
||||
echo -e '\n' >> .github/ISSUE_TEMPLATE.md
|
||||
cat github_commit_dates.md >> .github/ISSUE_TEMPLATE.md || true
|
||||
echo -e '\n' >> .github/ISSUE_TEMPLATE.md
|
||||
cat syntax_check.md >> .github/ISSUE_TEMPLATE.md || true
|
||||
echo -e '\n--------------------\n' >> .github/ISSUE_TEMPLATE.md
|
||||
printf '%s/%s%s%s' ${GITHUB_SERVER_URL} ${GITHUB_REPOSITORY} '/actions/runs/' ${GITHUB_RUN_ID} >> .github/ISSUE_TEMPLATE.md
|
||||
- name: Verify template
|
||||
run: cat .github/ISSUE_TEMPLATE.md
|
||||
- name: create issue
|
||||
id: create-iss
|
||||
uses: buluma/create-an-issue@v2
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: 'echo Created issue number ${{ steps.create-iss.outputs.number }}'
|
||||
|
||||
check_github_commit_dates:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup Python 3.x
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- name: Setup Checks
|
||||
run: pip3 install Requests
|
||||
- name: Checks
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: python tests/check-github-commit-dates.py README.md
|
||||
- name: Check result
|
||||
if: ${{ always() }}
|
||||
run: cat github_commit_dates.md
|
||||
- name: Upload result
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: result
|
||||
path: github_commit_dates.md
|
||||
|
||||
check_syntax:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: '14.x'
|
||||
- name: Setup Checks
|
||||
run: |
|
||||
cd tests
|
||||
npm install --silent chalk
|
||||
cd ..
|
||||
- name: Checks
|
||||
run:
|
||||
script -e -c 'node tests/test.js -r README.md'
|
||||
- name: Check result
|
||||
if: ${{ always() }}
|
||||
run: cat syntax_check.md
|
||||
- name: upload check syntax results
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: result
|
||||
path: syntax_check.md
|
||||
|
||||
check_links:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Ruby 2.6
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 2.6.7
|
||||
- name: Setup Checks
|
||||
run: gem install awesome_bot
|
||||
- name: Checks
|
||||
run: awesome_bot -f README.md --allow-redirect --allow 202,429 --white-list < tests/link_whitelist.txt
|
||||
- name: Check result
|
||||
if: ${{ always() }}
|
||||
run: cat ab-results-README.md-filtered.json
|
||||
- name: upload awesome_bot results
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: result
|
||||
path: ab-results-*.json
|
47
.github/workflows/pull_request.yml
vendored
47
.github/workflows/pull_request.yml
vendored
@ -1,47 +0,0 @@
|
||||
name: Pull Request Checks
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
check_syntax:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: create diff
|
||||
run: git diff origin/master -U0 README.md | grep --perl-regexp --only-matching "(?<=^\+).*" > temp.md
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: '14.x'
|
||||
- name: install chalk
|
||||
run: |
|
||||
cd tests
|
||||
npm install chalk
|
||||
cd ..
|
||||
- name: Checks
|
||||
run: script -e -c 'node tests/test.js -r README.md -d temp.md'
|
||||
|
||||
check_links:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: create diff
|
||||
run: git diff origin/master -U0 README.md | grep --perl-regexp --only-matching "(?<=^\+).*" > temp.md
|
||||
- name: Set up Ruby 2.6
|
||||
uses: actions/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 2.6.x
|
||||
- name: install awesome_bot
|
||||
run: gem install awesome_bot
|
||||
- name: Checks
|
||||
run: awesome_bot -f temp.md --allow-redirect --skip-save-results --allow 202 --white-list < tests/link_whitelist.txt
|
||||
|
20
.travis.yml
Normal file
20
.travis.yml
Normal file
@ -0,0 +1,20 @@
|
||||
language: node_js
|
||||
|
||||
node_js:
|
||||
- "node"
|
||||
|
||||
cache:
|
||||
npm: false
|
||||
|
||||
before_install:
|
||||
- rvm install 2.6.2
|
||||
- gem install awesome_bot
|
||||
- sudo apt update && sudo apt install python3-pip python3-setuptools
|
||||
- cd tests && npm install chalk && cd ..
|
||||
|
||||
script:
|
||||
- 'if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_EVENT_TYPE" == "cron" ]]; then make check_all; fi'
|
||||
- 'if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then make check_pr; fi'
|
||||
|
||||
notifications:
|
||||
email: false
|
195
AUTHORS.md
195
AUTHORS.md
@ -1,17 +1,19 @@
|
||||
|Commits | Author |
|
||||
| :---: | --- |
|
||||
|1494|nodiscc <nodiscc@gmail.com>|
|
||||
|327|n8225 <n8225@users.noreply.github.com>|
|
||||
|1663|nodiscc <nodiscc@gmail.com>|
|
||||
|445|n8225 <n8225@users.noreply.github.com>|
|
||||
|319|Kickball <ed.kickball@hotmail.com>|
|
||||
|122|Andrew Rylatt <arylatt@users.noreply.github.com>|
|
||||
|77|Meitar M <meitarm@gmail.com>|
|
||||
|38|Kovah <mail@kovah.de>|
|
||||
|37|worldworm <13227454+worldworm@users.noreply.github.com>|
|
||||
|31|DJCrashdummy <DJCrashdummy@users.noreply.github.com>|
|
||||
|26|Koichi MATSUMOTO <mzch@me.com>|
|
||||
|31|Koichi MATSUMOTO <mzch@me.com>|
|
||||
|23|cave beat <cave@cavebeat.org>|
|
||||
|17|Thomas Dalichow <info@thomasdalichow.de>|
|
||||
|14|Miguel Piedrafita <github@miguelpiedrafita.com>|
|
||||
|14|kokomo123 <70863536+kokomo123@users.noreply.github.com>|
|
||||
|13|Akashdeep Dhar <akashdeep.dhar@gmail.com>|
|
||||
|13|Ferdinand Mütsch <mail@ferdinand-muetsch.de>|
|
||||
|13|jungle-boogie <sean@jungleboogie.me>|
|
||||
|12|Alex <alex@maximum.guru>|
|
||||
@ -24,25 +26,25 @@
|
||||
|9|Nick Busey <NickBusey@users.noreply.github.com>|
|
||||
|9|cave <cavebeat@users.noreply.github.com>|
|
||||
|8|CooperBarrett <anthony.lhuissier@openmailbox.org>|
|
||||
|8|James Mills <prologic@shortcircuit.net.au>|
|
||||
|8|Martijn <martijn@mrtijn.nl>|
|
||||
|8|Rodrigo Avelino <rodrigo@avelino.org>|
|
||||
|8|kokomo123 <70863536+kokomo123@users.noreply.github.com>|
|
||||
|7|Hammy Havoc <hammy@splitanatom.com>|
|
||||
|7|Ilian <ugg.rock@gmail.com>|
|
||||
|7|James Mills <prologic@shortcircuit.net.au>|
|
||||
|7|Jorge E. Gomez <jegomez@agofer.com.co>|
|
||||
|7|Peter Thaleikis <spekulatius@users.noreply.github.com>|
|
||||
|7|aubrel <red_clover@riseup.net>|
|
||||
|7|jtagcat <git-514635f7@jtag.cat>|
|
||||
|7|mscherer <mscherer@users.noreply.github.com>|
|
||||
|7|n1trux <n1trux@users.noreply.github.com>|
|
||||
|7|phre4k <me@phre4k.at>|
|
||||
|7|édouard u. <mail@edouard.us>|
|
||||
|6|Alexander <46561566+AlexKnowsIt@users.noreply.github.com>|
|
||||
|6|Bob van Luijt <bob@semi.technology>|
|
||||
|6|Chris McCormick <chris@mccormick.cx>|
|
||||
|6|Per Guth <mail@perguth.de>|
|
||||
|6|Quinn Comendant <quinn@strangecode.com>|
|
||||
|6|Touhid Arastu <touhid.arastu@gmail.com>|
|
||||
|5|Alexander <46561566+AlexKnowsIt@users.noreply.github.com>|
|
||||
|5|Bob van Luijt <bob@semi.technology>|
|
||||
|5|Dariusz <37488679+Volmarg@users.noreply.github.com>|
|
||||
|5|Deluan Quintão <github@deluan.com>|
|
||||
|5|HLSiira <liam@siira.us>|
|
||||
@ -67,6 +69,7 @@
|
||||
|5|Son NK <nguyenkims@hotmail.com>|
|
||||
|5|Surgie Finesse <finesserus@gmail.com>|
|
||||
|5|azlux <github@azlux.fr>|
|
||||
|5|beucismis <beucismis@tutamail.com>|
|
||||
|5|jtagcat <38327267+jtagcat@users.noreply.github.com>|
|
||||
|5|mestaritonttu <mestaritonttu@mail.com>|
|
||||
|4|/c² <cagataycali@icloud.com>|
|
||||
@ -93,8 +96,10 @@
|
||||
|4|FabioLolix <fabio.loli@disroot.org>|
|
||||
|4|Ilya Sevostyanov <d3th@zeen.ru>|
|
||||
|4|Jan Vlnas <jnv@users.noreply.github.com>|
|
||||
|4|Jane Jeon <me@janejeon.dev>|
|
||||
|4|Jason Robinson <mail@jasonrobinson.me>|
|
||||
|4|Jean Elchinger <jinformatique@riseup.net>|
|
||||
|4|Jiří Komárek <xkomczax@centrum.cz>|
|
||||
|4|Joery Zegers <accounts@jzegers.nl>|
|
||||
|4|Jorge E. Gomez <jorge@jorgee.net>|
|
||||
|4|Joshua Westerheide <dev@jdoubleu.de>|
|
||||
@ -104,9 +109,12 @@
|
||||
|4|Mancy <abdullah.mancy@gmail.com>|
|
||||
|4|Marco <marco.home@gmx.de>|
|
||||
|4|Marius Voila <marius.voila@gmail.com>|
|
||||
|4|Mark Otway <mark@otway.com>|
|
||||
|4|Meitar M <meitarm+github.1djyXhCkVsRYzZRk@gmail.com>|
|
||||
|4|Michael Lynch <mtlynch@users.noreply.github.com>|
|
||||
|4|Praveen Durairaju <praveend.web@gmail.com>|
|
||||
|4|Rodolfo Berrios <inbox@rodolfoberrios.com>|
|
||||
|4|Ryan DeShone <rfdeshon@gmail.com>|
|
||||
|4|Sandro <sandro.jaeckel@posteo.de>|
|
||||
|4|Sebastian Stehle <sebastian@squidex.io>|
|
||||
|4|Sergio Brighenti <sergio@brighenti.me>|
|
||||
@ -114,6 +122,8 @@
|
||||
|4|Tony <goofballtech@gmail.com>|
|
||||
|4|Valmik <mail@valmik.in>|
|
||||
|4|Vihar Kurama <vihar.kurama@gmail.com>|
|
||||
|4|Ziga Zajc <ziga.zajc007@gmail.com>|
|
||||
|4|amo13 <amaury@mailbox.org>|
|
||||
|4|apacketofsweets <19573127+apacketofsweets@users.noreply.github.com>|
|
||||
|4|bysslord <wxwlegend@gmail.com>|
|
||||
|4|cthu1hoo <47687909+cthu1hoo@users.noreply.github.com>|
|
||||
@ -121,8 +131,10 @@
|
||||
|4|dpfaffenbauer <dominik@lineofcode.at>|
|
||||
|4|dyu <david.yu.ftw@gmail.com>|
|
||||
|4|hebbet <pascal.herbert@gmail.com>|
|
||||
|4|oof2win2 <honza.koco44@gmail.com>|
|
||||
|4|paddo <mail@patrickrichter.net>|
|
||||
|3|132ikl <132@ikl.sh>|
|
||||
|3|Aaron <admin@datahoarder.dev>|
|
||||
|3|Aguay <baraise.valentin@gmail.com>|
|
||||
|3|Akhyar Amarullah <akhyrul@gmail.com>|
|
||||
|3|Alexey Velikiy <gmpota@gmail.com>|
|
||||
@ -131,6 +143,7 @@
|
||||
|3|BernsteinA <4685390+BernsteinA@users.noreply.github.com>|
|
||||
|3|Brandon Jones <brandon@radroot.com>|
|
||||
|3|Burak Emre Kabakcı <emrekabakci@gmail.com>|
|
||||
|3|Christopher Charbonneau Wells <cdubz@users.noreply.github.com>|
|
||||
|3|Conor O'Callaghan <brioscaibriste@users.noreply.github.com>|
|
||||
|3|Cédric Krier <cedk@users.noreply.github.com>|
|
||||
|3|Daniel Mason <danielmason@catalyst.net.nz>|
|
||||
@ -146,6 +159,7 @@
|
||||
|3|Garrett Martin <me@garrettqmartin.com>|
|
||||
|3|Gauthier <gotson@users.noreply.github.com>|
|
||||
|3|George C. Privon <privong@users.noreply.github.com>|
|
||||
|3|GilbN <24592972+GilbN@users.noreply.github.com>|
|
||||
|3|Görkem Çetin <gc@count.ly>|
|
||||
|3|Harvey Kandola <harvey@documize.com>|
|
||||
|3|Hemanth Soni <git@hemanthsoni.com>|
|
||||
@ -153,8 +167,8 @@
|
||||
|3|Ilya Pirozhenko <ilya.pir@gmail.com>|
|
||||
|3|IrosTheBeggar <paul.sori@gmail.com>|
|
||||
|3|James Cole <thegrumpydictator@gmail.com>|
|
||||
|3|Jiří Komárek <xkomczax@centrum.cz>|
|
||||
|3|Jon Maddox <jon@jonmaddox.com>|
|
||||
|3|Joseph Milazzo <joseph.v.milazzo@gmail.com>|
|
||||
|3|Julian Poyourow <julianpoyo@gmail.com>|
|
||||
|3|Julien Maulny <julien.maulny@protonmail.com>|
|
||||
|3|Kevin Hinterlong <kevinhinterlong@users.noreply.github.com>|
|
||||
@ -165,12 +179,12 @@
|
||||
|3|MarceauKa <MarceauKa@users.noreply.github.com>|
|
||||
|3|Mariusz Kozakowski <11mariom+wordpress@gmail.com>|
|
||||
|3|Mark Niehe <mark.niehe@segment.com>|
|
||||
|3|Mark Otway <mark@otway.com>|
|
||||
|3|Markos Gogoulos <markos@orfium.com>|
|
||||
|3|Martin Gontovnikas <martin@gon.to>|
|
||||
|3|Mathieu Leplatre <mathieu@leplat.re>|
|
||||
|3|Matt Baer <matt@baer.works>|
|
||||
|3|Matthieu Petiteau <mpetiteau.pro@gmail.com>|
|
||||
|3|Miroslav Šedivý <sedivy.miro@gmail.com>|
|
||||
|3|Mitchell Urgero <info@urgero.org>|
|
||||
|3|Morris Jobke <hey@morrisjobke.de>|
|
||||
|3|Nathan Henniges <demonwolf@demonwolfdev.com>|
|
||||
@ -187,9 +201,9 @@
|
||||
|3|Prashant Singh <prashant.singh852@webkul.com>|
|
||||
|3|PrplHaz4 <PrplHaz4@users.noreply.github.com>|
|
||||
|3|Roland Whitehead <4478022+qururoland@users.noreply.github.com>|
|
||||
|3|Ryan DeShone <rfdeshon@gmail.com>|
|
||||
|3|Sandro Jäckel <sandro.jaeckel@gmail.com>|
|
||||
|3|Sheshbabu <sheshbabu@gmail.com>|
|
||||
|3|Sjoerd van der Hoorn <sjoerdvanderhoorn@hotmail.com>|
|
||||
|3|Tobi Schäfer <interface@p3k.org>|
|
||||
|3|Tom Pansino <2768420+tpansino@users.noreply.github.com>|
|
||||
|3|Yann Forget <forget.yann31@gmail.com>|
|
||||
@ -229,6 +243,7 @@
|
||||
|2|Alexis Metaireau <alexis@notmyidea.org>|
|
||||
|2|Amos <amos@amosarts.com>|
|
||||
|2|Anders Pitman <tapitman11@gmail.com>|
|
||||
|2|Andreas Waschinski <25221082+waschinski@users.noreply.github.com>|
|
||||
|2|Andrei Poenaru <andrei.poenaru@gmail.com>|
|
||||
|2|Andrew Hayworth <hayworth@meraki.net>|
|
||||
|2|Andrew Rabert <ar@nullsum.net>|
|
||||
@ -240,6 +255,7 @@
|
||||
|2|Bartłomiej Kurzeja <B3QL@users.noreply.github.com>|
|
||||
|2|Ben Yanke <ben@benyanke.com>|
|
||||
|2|Benjamin Gamard <benjamin.gam@gmail.com>|
|
||||
|2|Benno Bielmeier <github@bbenno.com>|
|
||||
|2|Braintelligence <Braintelligence@users.noreply.github.com>|
|
||||
|2|Brendan Abolivier <contact@brendanabolivier.com>|
|
||||
|2|Brian Morin <bdmorin@gmail.com>|
|
||||
@ -254,7 +270,6 @@
|
||||
|2|Chris Lu <chrislusf@users.noreply.github.com>|
|
||||
|2|Chris Missal <chris.missal@gmail.com>|
|
||||
|2|Christophe De Troyer <christophe.detroyer@gmail.com>|
|
||||
|2|Christopher Charbonneau Wells <cdubz@users.noreply.github.com>|
|
||||
|2|Cleberson Ramirio <cleberson.ramirio@outlook.com>|
|
||||
|2|Corentin Brossault <corentin.brossault@gmail.com>|
|
||||
|2|Costin Moise <necenzurat@gmail.com>|
|
||||
@ -264,16 +279,19 @@
|
||||
|2|David <vaidd4@users.noreply.github.com>|
|
||||
|2|David Leonard <david@appliedtrust.com>|
|
||||
|2|David Wayne Baxter <dbxt@users.noreply.github.com>|
|
||||
|2|David Zhao <david@davidzhao.com>|
|
||||
|2|Derek Viera <ma.dmviera01@gmail.com>|
|
||||
|2|Deryck <dhenson02@users.noreply.github.com>|
|
||||
|2|Dessalines <happydooby@gmail.com>|
|
||||
|2|Dhruv Sharma <dhruvparamhans@users.noreply.github.com>|
|
||||
|2|Diggaj Upadhyay <dcozupadhyay@duck.com>|
|
||||
|2|Dillon Stadther <dlstadther@gmail.com>|
|
||||
|2|Dominic Pratt <github@dominicpratt.de>|
|
||||
|2|Dr. Ridgewell <ridgewell@users.noreply.github.com>|
|
||||
|2|Eliot Berriot <contact@eliotberriot.com>|
|
||||
|2|Fabian Kromer <fabian.kromer@gmail.com>|
|
||||
|2|Fabian Schliski <Kombustor@users.noreply.github.com>|
|
||||
|2|Farhan Ghumra <Xyroid@users.noreply.github.com>|
|
||||
|2|Feleg <fegul@users.noreply.github.com>|
|
||||
|2|Felix Bartels <felix@host-consultants.de>|
|
||||
|2|Florian <flokX@users.noreply.github.com>|
|
||||
@ -291,6 +309,7 @@
|
||||
|2|Henry Ruhs <info@redaxmedia.com>|
|
||||
|2|Hilmi Tolga Sahin <htolgasahin@gmail.com>|
|
||||
|2|Ice Softy <52180080+Icesofty@users.noreply.github.com>|
|
||||
|2|IceCryptonym <59789660+IceCryptonym@users.noreply.github.com>|
|
||||
|2|Isaac <developerzippy@gmail.com>|
|
||||
|2|Isaac Grynsztein <IsaacMGrynsztein@gmail.com>|
|
||||
|2|Ivan Krutov <vania-pooh@vania-pooh.com>|
|
||||
@ -304,8 +323,8 @@
|
||||
|2|Joe Ipson <joe@ipson.me>|
|
||||
|2|Jonas L <jooola@users.noreply.github.com>|
|
||||
|2|Jordon Replogle <jordon.replogle@blueletterbible.org>|
|
||||
|2|Josef Andersson <josefandman@gmail.com>|
|
||||
|2|Joseph Dykstra <josephdykstra@gmail.com>|
|
||||
|2|Joseph Milazzo <joseph.v.milazzo@gmail.com>|
|
||||
|2|Julien Bisconti <veggiemonk@users.noreply.github.com>|
|
||||
|2|Jérémie Astori <jeremie@astori.fr>|
|
||||
|2|Keith Thibodeaux <kthibodeaux@peachtreebilling.com>|
|
||||
@ -317,6 +336,7 @@
|
||||
|2|Leroy Förster <gersilex@gmail.com>|
|
||||
|2|Liam Demafelix <hello@liam.ph>|
|
||||
|2|Louis <6653109+artonge@users.noreply.github.com>|
|
||||
|2|Louis Segal <louis@segal.xyz>|
|
||||
|2|Lukas SP <46935044+Lukaesebrot@users.noreply.github.com>|
|
||||
|2|Madhu GB <github@madhugb.com>|
|
||||
|2|Malte Kiefer <malte.kiefer@mailgermania.de>|
|
||||
@ -336,15 +356,16 @@
|
||||
|2|Mats Estensen <mats.est@gmail.com>|
|
||||
|2|Matt Hazinski <matt@matthazinski.com>|
|
||||
|2|Matthieu Aubry <matt@piwik.org>|
|
||||
|2|Maxim Kuleshov <arisudesu@yandex.ru>|
|
||||
|2|Melvin Loos <melvin@melvinloos.nl>|
|
||||
|2|Michael Tunnell <MichaelTunnell@users.noreply.github.com>|
|
||||
|2|Mikael Peigney <Mika56@users.noreply.github.com>|
|
||||
|2|Miroslav Šedivý <sedivy.miro@gmail.com>|
|
||||
|2|Murali Govardhana <murali.govardhana@gmail.com>|
|
||||
|2|Nehal Hasnayeen <searching.nehal@gmail.com>|
|
||||
|2|Noora <noorus@users.noreply.github.com>|
|
||||
|2|Oliver Giles <ohw.giles@gmail.com>|
|
||||
|2|Ophir LOJKINE <pere.jobs@gmail.com>|
|
||||
|2|Owen Young <theowenyoung@gmail.com>|
|
||||
|2|Patrik Ragnarsson <patrik@starkast.net>|
|
||||
|2|Pavel Korotkiy <outdead@mail.ru>|
|
||||
|2|Pavel Lobashov <ShockwaveNN@gmail.com>|
|
||||
@ -363,7 +384,9 @@
|
||||
|2|ReadmeCritic <frankensteinbot@gmail.com>|
|
||||
|2|Ricardo Torres <ricardo@rictorres.com.br>|
|
||||
|2|Rid <shakeel.ridhwaan@gmail.com>|
|
||||
|2|Robert Forrest <robertforrest@live.com>|
|
||||
|2|Robsdedude <robsdedude@gmail.com>|
|
||||
|2|Rodolfo Berrios <20590102+rodber@users.noreply.github.com>|
|
||||
|2|Rodolfo Berrios <rodolfo.berrios@gmail.com>|
|
||||
|2|Roland Geider <roland@geider.net>|
|
||||
|2|Ryan Mulligan <ryan@ryantm.com>|
|
||||
@ -378,14 +401,15 @@
|
||||
|2|Shane Cooke <shanecooke@mac.com>|
|
||||
|2|Simon Vieille <simon@deblan.fr>|
|
||||
|2|Simone Grignola <sito@grignola.ch>|
|
||||
|2|Sjoerd van der Hoorn <sjoerdvanderhoorn@hotmail.com>|
|
||||
|2|Spark <24642451+Sparkenstein@users.noreply.github.com>|
|
||||
|2|Stefan Bohacek <stefan.bohacek@gmail.com>|
|
||||
|2|Stefane Fermigier <sf@fermigier.com>|
|
||||
|2|Stefano <sabas88@gmail.com>|
|
||||
|2|Suraj Patil <thewhitetulip@users.noreply.github.com>|
|
||||
|2|Sven-Hendrik Haase <svenstaro@gmail.com>|
|
||||
|2|Think <iwhiz@users.noreply.github.com>|
|
||||
|2|Thomas Citharel <tcit@tcit.fr>|
|
||||
|2|Thomas Kaul <4159106+dtslvr@users.noreply.github.com>|
|
||||
|2|Thomas LÉVEIL <thomasleveil@users.noreply.github.com>|
|
||||
|2|Todd Austin <austin.todd.j@gmail.com>|
|
||||
|2|Tomer <tomer@campuscruizer.com>|
|
||||
@ -395,6 +419,7 @@
|
||||
|2|Vadim Rutkovsky <vrutkovs@redhat.com>|
|
||||
|2|Valentino Pesce <valentino@iltuobrand.it>|
|
||||
|2|Van-Duyet Le <lvduit08@gmail.com>|
|
||||
|2|Vinod Chandru <vinod.chandru@gmail.com>|
|
||||
|2|Vividh Mariya <55412084+MagnumDingusEdu@users.noreply.github.com>|
|
||||
|2|Vladimir Avgustov <vavgustov@gmail.com>|
|
||||
|2|Vladimir Vitkov <v.vitkov@is-bg.net>|
|
||||
@ -418,12 +443,14 @@
|
||||
|2|fengshaun <amoradi@fedoraproject.org>|
|
||||
|2|fuerbringer <severin@protonmail.ch>|
|
||||
|2|gseva <gavrilovseva@gmail.com>|
|
||||
|2|horahoradev <horahora1567@gmail.com>|
|
||||
|2|jciskey <jciskey@gmail.com>|
|
||||
|2|jganobsik <39414138+jganobsik@users.noreply.github.com>|
|
||||
|2|jimykk <JimyKK@users.noreply.github.com>|
|
||||
|2|kn0wmad <39687477+kn0wmad@users.noreply.github.com>|
|
||||
|2|markkrj <markkrj@users.noreply.github.com>|
|
||||
|2|maximesrd <maximesrd@maximesourdin.ovh>|
|
||||
|2|pawelmalak <pawel999@icloud.com>|
|
||||
|2|penyuan <penyuan@users.noreply.github.com>|
|
||||
|2|phntxx <meissner.bastian@gmail.com>|
|
||||
|2|rafael-santiago <voidbrainvoid@gmail.com>|
|
||||
@ -436,6 +463,7 @@
|
||||
|2|tillarnold <throwable42@gmail.com>|
|
||||
|2|tomc3 <wordoftheday003@gmail.com>|
|
||||
|2|undoingtech <33106062+undoingtech@users.noreply.github.com>|
|
||||
|2|xavierxross <68507234+xavierxross@users.noreply.github.com>|
|
||||
|2|xy2z <xy2z@users.noreply.github.com>|
|
||||
|2|yuche <i@yuche.me>|
|
||||
|2|ziλa sarikaya <sarikayaziya@gmail.com>|
|
||||
@ -445,6 +473,7 @@
|
||||
|1|0l-l0 <49962426+0l-l0@users.noreply.github.com>|
|
||||
|1|3Samourai <68392445+3Samourai@users.noreply.github.com>|
|
||||
|1|4oo4 <4oo4@users.noreply.github.com>|
|
||||
|1|4x10m <axiiom.home@gmail.com>|
|
||||
|1|@@philipp-r@@ <philipp-r@users.noreply.github.com>|
|
||||
|1|A. Tammy <epsilon-0@users.noreply.github.com>|
|
||||
|1|Aaron <44198148+whalehub@users.noreply.github.com>|
|
||||
@ -454,13 +483,17 @@
|
||||
|1|Aditya Nagla <me@cdadityang.xyz>|
|
||||
|1|Adrian Kumpf <adrian.kumpf@posteo.de>|
|
||||
|1|Aimee <16459597+Aimeedeer@users.noreply.github.com>|
|
||||
|1|Aimeos <aimeos@aimeos.org>|
|
||||
|1|Akos Veres <veres@akos.me>|
|
||||
|1|Alashov Berkeli <yunus.alashow@gmail.com>|
|
||||
|1|Alberto Bertogli <albertito@blitiri.com.ar>|
|
||||
|1|Alec Sanchez <alecsanchez@avian-lang.org>|
|
||||
|1|Alejandro Rodríguez <arcxyz@users.noreply.github.com>|
|
||||
|1|Alex <alexta69@gmail.com>|
|
||||
|1|Alex Cureton-Griffiths <alexcg1@users.noreply.github.com>|
|
||||
|1|Alex Fornuto <alex@fornuto.com>|
|
||||
|1|Alex Ling <hkalexling@gmail.com>|
|
||||
|1|Alex S <52931605+chilledtonic@users.noreply.github.com>|
|
||||
|1|Alex Tselegidis <alextselegidis@gmail.com>|
|
||||
|1|Alex Yumashev <33555768+alex-jitbit@users.noreply.github.com>|
|
||||
|1|AlexFullmoon <alex.fullmoon@gmail.com>|
|
||||
@ -469,8 +502,14 @@
|
||||
|1|Alexey Strokach <alex.strokach@utoronto.ca>|
|
||||
|1|Alfred Bez <alfred.bez@googlemail.com>|
|
||||
|1|Algram <aliasgram@gmail.com>|
|
||||
|1|Alicia Sykes <gh@d0h.co>|
|
||||
|1|Alicia Sykes <sykes.alicia@gmail.com>|
|
||||
|1|Allistair Lee <67619291+allistairlee@users.noreply.github.com>|
|
||||
|1|Almar Klein <almar@almarklein.org>|
|
||||
|1|AltumCode <hello@altumcode.com>|
|
||||
|1|Alys <alice.harris@oldgods.net>|
|
||||
|1|Andre <andre.lehmann@posteo.de>|
|
||||
|1|Andreas Mülhaupt <61550715+anmuelhauptsto@users.noreply.github.com>|
|
||||
|1|Andrei Marcu <andrei@marcu.net>|
|
||||
|1|Andrew <dpieski@gmail.com>|
|
||||
|1|Andrew Murray <radarhere@gmail.com>|
|
||||
@ -487,7 +526,9 @@
|
||||
|1|Anton Troyanov <anton@troyanov.net>|
|
||||
|1|Arkady Asuratov <arkady.asuratov@dubas.pro>|
|
||||
|1|Armando Lüscher <armando@noplanman.ch>|
|
||||
|1|Arnav Jindal <arnav.jindal7@gmail.com>|
|
||||
|1|Arnold Schrijver <aschrijver@users.noreply.github.com>|
|
||||
|1|Arpit <arpitnath42@gmail.com>|
|
||||
|1|ArthurHoaro <arthur@hoa.ro>|
|
||||
|1|Ash Leece <ash@leece.im>|
|
||||
|1|Austin <austi_gillm935@ahapps.anoka.k12.mn.us>|
|
||||
@ -498,7 +539,9 @@
|
||||
|1|Ben <ben@rngr.org>|
|
||||
|1|Ben Abbott <ben@benabbott.nz>|
|
||||
|1|Benj Fassbind <randombenj@gmail.com>|
|
||||
|1|Benjamin Jonard <benjaminjonard@users.noreply.github.com>|
|
||||
|1|Benjamin Lange <benjamin.r.lange@gmail.com>|
|
||||
|1|Benjamin Reich <Benni-Reich@hotmail.de>|
|
||||
|1|Benjo Kho <benjokho@gmail.com>|
|
||||
|1|Bernd Bestel <bernd@berrnd.de>|
|
||||
|1|Bert Van de Poel <bert@bhack.net>|
|
||||
@ -534,6 +577,7 @@
|
||||
|1|Clément AUBIN <caubin@caubin.fr>|
|
||||
|1|Colin <16247799+cpdevelops@users.noreply.github.com>|
|
||||
|1|Colin Shea <colin@evaryont.me>|
|
||||
|1|CouldBeThis <53547181+CouldBeThis@users.noreply.github.com>|
|
||||
|1|Craig Davison <craig@davison.io>|
|
||||
|1|Cristian Menghi <cristian@menghi.biz>|
|
||||
|1|Cthulhux <github@tuxproject.de>|
|
||||
@ -541,38 +585,52 @@
|
||||
|1|Cédric <cedric@cedricbonhomme.org>|
|
||||
|1|D0T1X <65193216+D0T1X@users.noreply.github.com>|
|
||||
|1|Damir Gainetdinov <damir.gaynetdinov@gmail.com>|
|
||||
|1|Dan <Dan-in-CA@users.noreply.github.com>|
|
||||
|1|Dan <rocks.in.the.cloud@gmail.com>|
|
||||
|1|Dan Moore <github@mooreds.com>|
|
||||
|1|Dan Nixon <dan@dan-nixon.com>|
|
||||
|1|Daniel Quinn <code@danielquinn.org>|
|
||||
|1|Danny <dannyvankooten@gmail.com>|
|
||||
|1|Dave Perrett <hello@daveperrett.com>|
|
||||
|1|David Baldwynn <whitef0x0@users.noreply.github.com>|
|
||||
|1|David Ng <david90@users.noreply.github.com>|
|
||||
|1|David Négrier <d.negrier@thecodingmachine.com>|
|
||||
|1|David Stephens <dave@force9.org>|
|
||||
|1|David Yu <david.yu.ftw@gmail.com>|
|
||||
|1|Deeoon <25846405+Deeoon@users.noreply.github.com>|
|
||||
|1|Deihim007 <deihim007@gmail.com>|
|
||||
|1|Denis <isdn@users.noreply.github.com>|
|
||||
|1|Denis <issden@gmail.com>|
|
||||
|1|Diego Molina <diemol@users.noreply.github.com>|
|
||||
|1|Dimitri Steinel <d.steinel@de.edenspiekermann.com>|
|
||||
|1|Dipta Pandit <diptopandit@users.noreply.github.com>|
|
||||
|1|Dirk Krause <dirkk0@googlemail.com>|
|
||||
|1|Dmitri Popov <dmpop@linux.com>|
|
||||
|1|Dmitrii Poddubnyi <dpoddubny@gmail.com>|
|
||||
|1|Dmitriy Volkov <wldhx+vcs+github_com@wldhx.me>|
|
||||
|1|Dmitry K <akinc@yandex.ru>|
|
||||
|1|Dmitry Khomutov <poisoncorpsee@gmail.com>|
|
||||
|1|Dmitry Sinina <12762053+dmitry-sinina@users.noreply.github.com>|
|
||||
|1|Domarys <domaryscorrea@gmail.com>|
|
||||
|1|DonPascualino <50177009+DonPascualino@users.noreply.github.com>|
|
||||
|1|Doğan Çelik <dogancelik@users.noreply.github.com>|
|
||||
|1|Dražen Lučanin <kermit666@gmail.com>|
|
||||
|1|Driaan <debeste.driaan@gmail.com>|
|
||||
|1|Duco <git@ducode.org>|
|
||||
|1|Duke <github@ducode.org>|
|
||||
|1|Dustin Essington <aetaric@gmail.com>|
|
||||
|1|Dweb Fan <dwebfan@gmail.com>|
|
||||
|1|Ed Tewiah <etewiah@hotmail.com>|
|
||||
|1|Edoardo Putti <edoardo.putti@gmail.com>|
|
||||
|1|Edreih Aldana <edreihaldana@yahoo.com>|
|
||||
|1|Eldad A. Fux <eldad.fux@gmail.com>|
|
||||
|1|Emeric POUPON <epoupon@users.noreply.github.com>|
|
||||
|1|Emiliano <emiliano@sturniolo.com.ar>|
|
||||
|1|Emlembow <36314674+Emlembow@users.noreply.github.com>|
|
||||
|1|Enigma Reloaded <88687080+enigma-reloaded@users.noreply.github.com>|
|
||||
|1|Eran Chetz <eran.chetzroni@algolia.com>|
|
||||
|1|Eren Hatırnaz <erenhatirnaz@hotmail.com.tr>|
|
||||
|1|Eric Eskildsen <eeskildsen@gmail.com>|
|
||||
|1|Eric Moon <eric@ericmoon.net>|
|
||||
|1|Eric Nemchik <eric@nemchik.com>|
|
||||
|1|Eric Park <ideamaneric@gmail.com>|
|
||||
@ -583,9 +641,10 @@
|
||||
|1|Eugen <eugen@zeonfederated.com>|
|
||||
|1|Evelthon Prodromou <epro@prodromou.eu>|
|
||||
|1|Evgeny Petrov <groosha@protonmail.com>|
|
||||
|1|Fabeuss <40515597+Fabeuss@users.noreply.github.com>|
|
||||
|1|Fabian Patzke <github@patzi.de>|
|
||||
|1|Farhan Ghumra <Xyroid@users.noreply.github.com>|
|
||||
|1|Fazal Majid <github@sentfrom.com>|
|
||||
|1|Feuerhamster <38376566+Feuerhamster@users.noreply.github.com>|
|
||||
|1|Florian <52180080+Icesofty@users.noreply.github.com>|
|
||||
|1|Florian Kaiser <florian.kaiser@fnkr.net>|
|
||||
|1|Florian Kaldowski <flokX@users.noreply.github.com>|
|
||||
@ -593,37 +652,52 @@
|
||||
|1|FortressBuilder <FortressBuilder@users.noreply.github.com>|
|
||||
|1|Francesco Vollero <francesco.vollero@gmail.com>|
|
||||
|1|François Jacquet <francoisjacquet@users.noreply.github.com>|
|
||||
|1|Frederic Werner <20406381+wernerfred@users.noreply.github.com>|
|
||||
|1|FreeScout <40499291+freescout-helpdesk@users.noreply.github.com>|
|
||||
|1|G <w_i_n_d_y_o@hotmail.com>|
|
||||
|1|Gabriel Herbert <91060542+r3-gabriel@users.noreply.github.com>|
|
||||
|1|Gabriel Herbert <netras.fent@gmail.com>|
|
||||
|1|Galen Abell <galen@galenabell.com>|
|
||||
|1|Gervwyk <gervwyk@gmail.com>|
|
||||
|1|Gio <giodi@users.noreply.github.com>|
|
||||
|1|Giorgos Logiotatidis <glogiotatidis@users.noreply.github.com>|
|
||||
|1|Girish Ramakrishnan <mail@girish.in>|
|
||||
|1|Greg Chetcuti <greg@chetcuti.com>|
|
||||
|1|Groupboard <davidj@groupboard.com>|
|
||||
|1|Gugi264 <10576255+Gugi264@users.noreply.github.com>|
|
||||
|1|Guilherme Oenning <me@goenning.net>|
|
||||
|1|Guillaume Schurck <g.schurck@gmail.com>|
|
||||
|1|Gunwant Jain <mail@wantguns.dev>|
|
||||
|1|Hans <hmorandell@yahoo.it>|
|
||||
|1|Hazim J <hazim.jumali@gmail.com>|
|
||||
|1|Hendrik Niefeld <hello@niefeld.com>|
|
||||
|1|Henrique Holanda <contato@henriqueholanda.com.br>|
|
||||
|1|Herman Zvonimir Došilović <hermanz.dosilovic@gmail.com>|
|
||||
|1|Hexalyse <4415295+Hexalyse@users.noreply.github.com>|
|
||||
|1|Hooopo <Hoooopo@gmail.com>|
|
||||
|1|Hunter Wittenborn <hunter@hunterwittenborn.com>|
|
||||
|1|IAlwaysBeCoding <erik.dominguez1003@gmail.com>|
|
||||
|1|Icantcodeatall <francois.lachese@me.com>|
|
||||
|1|Igor Antun <IgorAntun@users.noreply.github.com>|
|
||||
|1|Igor Petrov <garik.piton@gmail.com>|
|
||||
|1|Imron RA <42175898+imronra@users.noreply.github.com>|
|
||||
|1|InfoLibre <david.vantyghem@laposte.net>|
|
||||
|1|Isaac <isaacnoda@gmail.com>|
|
||||
|1|Izac Lorimer <izaclorimer@users.noreply.github.com>|
|
||||
|1|JVT038 <47184046+JVT038@users.noreply.github.com>|
|
||||
|1|Jack <jackdev@mailbox.org>|
|
||||
|1|Jackson Delahunt <jackson@jacksondelahunt.com>|
|
||||
|1|Jakob Gillich <jakob@gillich.me>|
|
||||
|1|James <jmz.taylor16@gmail.com>|
|
||||
|1|James Kiger <68701146+jamesrkiger@users.noreply.github.com>|
|
||||
|1|James Read <contact@jread.com>|
|
||||
|1|Jan <jayphizzle@users.noreply.github.com>|
|
||||
|1|Jan Dietrich <jan.dietrich.12@gmail.com>|
|
||||
|1|Jannik Anker <jannikanker@users.noreply.github.com>|
|
||||
|1|Janos Dobronszki <dobronszki@gmail.com>|
|
||||
|1|Jarek Lipski <pub@loomchild.net>|
|
||||
|1|Jason Bosco <mail@jasonbos.co>|
|
||||
|1|Jason G <jason@firez.one>|
|
||||
|1|Jay Williams <jay@myd3.com>|
|
||||
|1|Jay Yu <265551+GitHubGeek@users.noreply.github.com>|
|
||||
|1|Jay Yu <GitHubGeek@users.noreply.github.com>|
|
||||
@ -631,18 +705,27 @@
|
||||
|1|Jelmer Vernooij <jelmer@jelmer.uk>|
|
||||
|1|Jeremiah Marks <jeremiah@jlmarks.org>|
|
||||
|1|Jeremy Meyers <softlord@pobox.com>|
|
||||
|1|Jesse Storms <jesse.storms@student.ucll.be>|
|
||||
|1|Joachim van de Haterd <derjoachim@users.noreply.github.com>|
|
||||
|1|Joe <49767913+joebudi@users.noreply.github.com>|
|
||||
|1|Joe Lombrozo <joe@djeebus.net>|
|
||||
|1|Joel Calado <joelcalado@gmail.com>|
|
||||
|1|Jon Schoning <jonschoning@gmail.com>|
|
||||
|1|Jon Uhlmann <account@uhlmann.pro>|
|
||||
|1|Jonas <j@jfgr.de>|
|
||||
|1|Jonas DOREL <jonas@dorel.me>|
|
||||
|1|Jonas Hellmann <hellmann.jonas@web.de>|
|
||||
|1|Jonathan Elias Caicedo <Jonathan@jcaicedo.com>|
|
||||
|1|Jordan <15741144+jrdnlc@users.noreply.github.com>|
|
||||
|1|Jordan Doyle <jordan@9t9t9.com>|
|
||||
|1|Jordan Doyle <jordan@doyle.la>|
|
||||
|1|Joschua Becker <jb@scolasti.co>|
|
||||
|1|Josh Harmon <me@joshharmon.me>|
|
||||
|1|Josh Moore <josh.moore@jmoore.dev>|
|
||||
|1|Joshua Hamilton <joshua.hamilton@fabricut.com>|
|
||||
|1|Joshua Wang <josh@joshdabo.sh>|
|
||||
|1|José Castro <cogurov@gmail.com>|
|
||||
|1|Julian Gojani <ipotsuper@gmail.com>|
|
||||
|1|Julien <bibich@users.noreply.github.com>|
|
||||
|1|Julien Bisconti <julien.bisconti@gmail.com>|
|
||||
|1|Julien Reichardt <jul.reich43@opmbx.org>|
|
||||
@ -654,7 +737,9 @@
|
||||
|1|Kaveet Laxmidas <kaveetlaxmidas@gmail.com>|
|
||||
|1|Kelvin <kelvinhammond@users.noreply.github.com>|
|
||||
|1|Ketrel <webmaster@krahs-emag.com>|
|
||||
|1|Kevin Kandlbinder <kevin@kevink.dev>|
|
||||
|1|Kevin Lin <LINKIWI@users.noreply.github.com>|
|
||||
|1|Kevin Woblick <mail@kovah.de>|
|
||||
|1|Keyhaku <jones@bious.fr>|
|
||||
|1|Kieran <kieran.brahney@gmail.com>|
|
||||
|1|Kieran Gleeson <kgleeson@gmail.com>|
|
||||
@ -664,6 +749,7 @@
|
||||
|1|Kyle Stetz <kylestetz@gmail.com>|
|
||||
|1|L1Cafe <L-Cafe-github@tuta.io>|
|
||||
|1|LB (Ben Johnston) <mail@lb.ee>|
|
||||
|1|Lars Holm Nielsen <lars.holm.nielsen@cern.ch>|
|
||||
|1|Laurent Coustet <laurent.coustet@bluemind.net>|
|
||||
|1|Leonard Thomas Wall <github@tenchooo.me>|
|
||||
|1|Lescaudron Mathieu <mathieu@lescaudron.com>|
|
||||
@ -672,8 +758,10 @@
|
||||
|1|Lorenz Hübschle-Schneider <lorenzhs@users.noreply.github.com>|
|
||||
|1|Louis Grenard <louis.grenard@gmail.com>|
|
||||
|1|Lukas Masuch <Lukas.Masuch@gmail.com>|
|
||||
|1|Lukas Schulte Pelkum <kbrt@protonmail.com>|
|
||||
|1|Luke Hoersten <Luke@Hoersten.org>|
|
||||
|1|Luke Singham <lukesingham@gmail.com>|
|
||||
|1|Luke Whrit <lukewhrit@pm.me>|
|
||||
|1|Luuk Nieuwdorp <luuknieuwdorp@users.noreply.github.com>|
|
||||
|1|Lyz <lyz@riseup.net>|
|
||||
|1|Marcin Karpezo <m.karpezo@nencki.gov.pl>|
|
||||
@ -681,16 +769,21 @@
|
||||
|1|Marco Kamner <marco@it-kamner.de>|
|
||||
|1|Marco Kamner <marco@kamner.de>|
|
||||
|1|Marcus Ramberg <marcus@nordaaker.com>|
|
||||
|1|Marijn <lmnkgames4@gmail.com>|
|
||||
|1|Mario Reder <mreder1289@gmail.com>|
|
||||
|1|Mario Rothauer <office@rothauer-it.com>|
|
||||
|1|Mark Ide <git@cranstonide.com>|
|
||||
|1|Mark Ide <mark@cranstonide.com>|
|
||||
|1|Mark Railton <mark@markrailton.com>|
|
||||
|1|Markus Dieckmann <markus.dieckmann@posteo.de>|
|
||||
|1|Martin Allien <1965795+AllienWorks@users.noreply.github.com>|
|
||||
|1|Martin Kucej <i.librarian.software@gmail.com>|
|
||||
|1|Martin Malinda <malindacz@gmail.com>|
|
||||
|1|Martin Patz <5219726+patzm@users.noreply.github.com>|
|
||||
|1|Marvin <Groruk@uberdoge.network>|
|
||||
|1|Marvin Gülker <post+git@guelker.eu>|
|
||||
|1|MatFluor <MatFluor@users.noreply.github.com>|
|
||||
|1|MatrixEternal <35934418+MatrixEternal@users.noreply.github.com>|
|
||||
|1|Matt Burchett <matt@mattburchett.com>|
|
||||
|1|Matt Lee <mattl@users.noreply.github.com>|
|
||||
|1|Matteo Cellucci <matteo.cellucci@keypartner.com>|
|
||||
@ -699,18 +792,24 @@
|
||||
|1|Matthew Dews <matthew-dews@users.noreply.github.com>|
|
||||
|1|Matthew East <matthew@mattheweast.me>|
|
||||
|1|Matthew McEachen <matthew@photostructure.com>|
|
||||
|1|Matthew Wild <mwild1@gmail.com>|
|
||||
|1|Matthias De Bie <mattydebie@gmail.com>|
|
||||
|1|Matus Faro <matusfaro@users.noreply.github.com>|
|
||||
|1|Max <2843450+b-m-f@users.noreply.github.com>|
|
||||
|1|Max Hollmann <maxhollmann@gmail.com>|
|
||||
|1|Maxim Gurevich <maxim432@gmail.com>|
|
||||
|1|Maxime Bouroumeau-Fuseau <maxime.bouroumeau@gmail.com>|
|
||||
|1|Mellow Fish Ltd <mfscripts@users.noreply.github.com>|
|
||||
|1|Michael Barrow <michael@barrow.me>|
|
||||
|1|Michael Burns <michael@mirwin.net>|
|
||||
|1|Michael Floering <michaelfloering@gmail.com>|
|
||||
|1|Michael M. Chang <michael@mchang.name>|
|
||||
|1|Michael Malura <github@malura.me>|
|
||||
|1|Michael Stegeman <michael@stegeman.me>|
|
||||
|1|Michael van Tricht <metricht@gmail.com>|
|
||||
|1|Michael van Tricht <mvantricht@expandonline.nl>|
|
||||
|1|Michael van Tricht <swordbeta@users.noreply.github.com>|
|
||||
|1|Miguel Michelson Martinez <miguel@chaskiq.io>|
|
||||
|1|Mike Goodwin <xenithorb@users.noreply.github.com>|
|
||||
|1|Mike Steele <mike@steel.fm>|
|
||||
|1|Miloš Kroulík <milos.kroulik@gmail.com>|
|
||||
@ -718,11 +817,13 @@
|
||||
|1|MinorTom <TheMinorTom@users.noreply.github.com>|
|
||||
|1|Mishari Muqbil <mishari@mishari.net>|
|
||||
|1|Mitchell R <github@mrincworld.com>|
|
||||
|1|Mo Bitar <mo@standardnotes.org>|
|
||||
|1|Moritz Kröger <write@morkro.de>|
|
||||
|1|Murali K G <murali.girikg@gmail.com>|
|
||||
|1|Murdoc Bates <trockenasche@gmail.com>|
|
||||
|1|Naresh Arelli <naresh.arelli@gmail.com>|
|
||||
|1|Neal Gompa <ngompa13@gmail.com>|
|
||||
|1|Nguyen Thanh Quang <teddyowo@outlook.com>|
|
||||
|1|Nic Samuelson <ndsamuelson@gmail.com>|
|
||||
|1|Nicholas Schlobohm <nschlobohm@willowgreengroup.com.au>|
|
||||
|1|Nick Sweeting <git@nicksweeting.com>|
|
||||
@ -730,33 +831,42 @@
|
||||
|1|Nicolas Mattiocco <nicolas.mattiocco@gmail.com>|
|
||||
|1|NicolasCARPi <nicolas.carpi@curie.fr>|
|
||||
|1|Niels Robin-Aubertin <nrobinaubertin@users.noreply.github.com>|
|
||||
|1|Nikita Kolmogorov <backmeupplz@gmail.com>|
|
||||
|1|Nikodem Deja <nikodem@nikodemdeja.pl>|
|
||||
|1|Nirmal Almara <yo@mysticmode.org>|
|
||||
|1|Nisar Hassan Naqvi <syednisarhassan12@gmail.com>|
|
||||
|1|Nishil <63183230+Nishil07@users.noreply.github.com>|
|
||||
|1|Norman Xu <im@norm.im>|
|
||||
|1|Nÿco <nicolas.verite@gmail.com>|
|
||||
|1|Ober7 <k.latif.misc@gmail.com>|
|
||||
|1|Odin Hørthe Omdal <odin.omdal@gmail.com>|
|
||||
|1|Ofer Sadan <ofersadan85@gmail.com>|
|
||||
|1|Oleg Agafonov <oleg.agafonov@telestax.com>|
|
||||
|1|Oliver Kopp <kopp.dev@gmail.com>|
|
||||
|1|Opeyemi Obembe <fickledreams@yahoo.com>|
|
||||
|1|Owen Young <theowenyoung@gmail.com>|
|
||||
|1|PMK <webmaster@pmklaassen.com>|
|
||||
|1|Paolo Pustorino <stickgrinder@gmail.com>|
|
||||
|1|Pascal Sommer <Pascal-So@users.noreply.github.com>|
|
||||
|1|Pasha Finkelshteyn <pavel.finkelshtein@gmail.com>|
|
||||
|1|Pau Kiat Wee <paukiatwee@gmail.com>|
|
||||
|1|Paul <myfirstnameispaul@users.noreply.github.com>|
|
||||
|1|Paul <paul@rosanbo.com>|
|
||||
|1|Paul Fitzpatrick <paulfitz@alum.mit.edu>|
|
||||
|1|Paul Götzinger <paul70079@gmail.com>|
|
||||
|1|Paul Libbrecht <paul.libbrecht@dipf.de>|
|
||||
|1|Paul Libbrecht <paul@hoplahup.net>|
|
||||
|1|Pavlo Vodopyan <pavel.vodopyan@gmail.com>|
|
||||
|1|Paweł Jakimowski <pawel@jakimowski.info>|
|
||||
|1|Paweł Kapała <bylek77@gmail.com>|
|
||||
|1|PeGaSuS <droider.pc@gmail.com>|
|
||||
|1|Pete <pete.matsy@gmail.com>|
|
||||
|1|Pete Matsyburka <omohokcoj@users.noreply.github.com>|
|
||||
|1|Peter Brunner <pbrunner@gmail.com>|
|
||||
|1|Peter Thaleikis <peter.thaleikis@gmail.com>|
|
||||
|1|Peter Tonoli <peter+github@metaverse.org>|
|
||||
|1|Peter van den Hurk <runical1991@gmail.com>|
|
||||
|1|PhiTux <27566312+PhiTux@users.noreply.github.com>|
|
||||
|1|Philipp <github@vanbittern.com>|
|
||||
|1|Philipp Kutyla <philipp@kutyla.de>|
|
||||
|1|Phill <phill@formbet.co.uk>|
|
||||
|1|Phonic Mouse <phonicmouse@gmai.com>|
|
||||
@ -767,10 +877,14 @@
|
||||
|1|Pouria Ezzati <ezzati.upt@gmail.com>|
|
||||
|1|Prahalad Belavadi <prahaladbelavadi@gmail.com>|
|
||||
|1|Pranav Raj S <pranav@chatwoot.com>|
|
||||
|1|Qb <github@qbit.moe>|
|
||||
|1|Quentin de Quelen <quentin@meilisearch.com>|
|
||||
|1|R. Miles McCain <milesmcc@users.noreply.github.com>|
|
||||
|1|Rafael Milewski <Milewski@users.noreply.github.com>|
|
||||
|1|Rafał Kukawski <rafal@kukawski.pl>|
|
||||
|1|Raphael Fetzer <kontakt@fetzer.me>|
|
||||
|1|Raphael Lullis <lullis@users.noreply.github.com>|
|
||||
|1|Raveberry <raveberry@jhacker.de>|
|
||||
|1|RblSb <msrblsb@gmail.com>|
|
||||
|1|Remi Rampin <remirampin@gmail.com>|
|
||||
|1|Remy Adriaanse <remy@adriaanse.it>|
|
||||
@ -782,6 +896,8 @@
|
||||
|1|Roberto Rosario <roberto.rosario.gonzalez@gmail.com>|
|
||||
|1|Robin Schneider <ypid@riseup.net>|
|
||||
|1|Roman Nesterov <me@rhrn.ru>|
|
||||
|1|Rosano <pub@xeari.com>|
|
||||
|1|Ross Parker <rossdotparker@gmail.com>|
|
||||
|1|Rouven Bauer <robsdedude@gmail.com>|
|
||||
|1|RussellAult <RussellAult@users.noreply.github.com>|
|
||||
|1|Ryan Halliday <ry167@ry167.com>|
|
||||
@ -793,15 +909,20 @@
|
||||
|1|Sam Patterson <bitcoin@samuelrpatterson.com>|
|
||||
|1|Sam Wilson <sam@samwilson.id.au>|
|
||||
|1|Samuel Garneau <sam@garno.me>|
|
||||
|1|Samyak Bakliwal <w3bcode@gmail.com>|
|
||||
|1|Sartaj <sartaj@atomicsquare.com>|
|
||||
|1|Scott Humphries <sscotth@users.noreply.github.com>|
|
||||
|1|Scott Miller <scott.miller.utah@gmail.com>|
|
||||
|1|Sean Begley <begleysm@users.noreply.github.com>|
|
||||
|1|Sebastian <sebastian@silef.de>|
|
||||
|1|Senan Kelly <senan.f.b.kelly+github@gmail.com>|
|
||||
|1|Sergey Bronnikov <sergeyb@bronevichok.ru>|
|
||||
|1|Sergey Ponomarev <me@sergey-ponomarev.ru>|
|
||||
|1|Sergey Romanenko <sergey.romanenko@flextype.org>|
|
||||
|1|Sergiu Bucur <25414803+b1sergiu@users.noreply.github.com>|
|
||||
|1|Sheldon Rupp <me@shel.io>|
|
||||
|1|Shikiryu <Chouchen@users.noreply.github.com>|
|
||||
|1|Shubham Mehrotra <bagisto.dev.sm@gmail.com>|
|
||||
|1|Shyim <6224096+shyim@users.noreply.github.com>|
|
||||
|1|Simon <simon@hilchenba.ch>|
|
||||
|1|Simon Alberny <contact@simounet.net>|
|
||||
@ -810,10 +931,14 @@
|
||||
|1|Simon Hanna <simon.hanna@jesus.de>|
|
||||
|1|Simon Ramsay <nexus-uw@users.noreply.github.com>|
|
||||
|1|Simon Vandevelde <simon.vandevelde@hotmail.com>|
|
||||
|1|SlidingHorn <slidinghorn@protonmail.com>|
|
||||
|1|Sourabh Joshi <38150665+sourabh-joshi@users.noreply.github.com>|
|
||||
|1|Spencer McIntyre <zeroSteiner@gmail.com>|
|
||||
|1|Spencer Muise <spencermuise@gmail.com>|
|
||||
|1|Spike <19519553+spikecodes@users.noreply.github.com>|
|
||||
|1|Stan Triepels <1939656+GDay@users.noreply.github.com>|
|
||||
|1|Starbeamrainbowlabs <sbrl@starbeamrainbowlabs.com>|
|
||||
|1|Stefan Fernandez <stefan.fernandez@gmail.com>|
|
||||
|1|Stefan Weil <sw@weilnetz.de>|
|
||||
|1|Stephen Smith <stephen304@gmail.com>|
|
||||
|1|Steve Divskinsy <stevesbrain@users.noreply.github.com>|
|
||||
@ -831,6 +956,7 @@
|
||||
|1|Thomas Taylor <thomas.taylor@slalom.com>|
|
||||
|1|Thorsten Rinne <thorsten@phpmyfaq.de>|
|
||||
|1|Tim Allingham <tim@timallingham.net>|
|
||||
|1|Tim Bultmann <3769085+Footur@users.noreply.github.com>|
|
||||
|1|Tim Glaser <tim@glsr.nl>|
|
||||
|1|Timothee Boussus <timothee.boussus@gmail.com>|
|
||||
|1|Timur Bublik <timur.bublik@zoho.com>|
|
||||
@ -838,46 +964,60 @@
|
||||
|1|Tobias Kunze <rixx@cutebit.de>|
|
||||
|1|Tobias Reich <tobias.reich.ich@gmail.com>|
|
||||
|1|Tobias Zeising <tobias.zeising@aditu.de>|
|
||||
|1|Toby D <Fortyseven@users.noreply.github.com>|
|
||||
|1|Todd Hoffmann <ddffnn@gmail.com>|
|
||||
|1|Tom Hacohen <tom@stosb.com>|
|
||||
|1|Tom Saleeba <tom.saleeba@gmail.com>|
|
||||
|1|Tom Tamaira <admin@tomtamaira.com>|
|
||||
|1|Tomasz C <12180991+tomasz-c@users.noreply.github.com>|
|
||||
|1|Tomer Shvueli <tomer@shvueli.com>|
|
||||
|1|Tommy Ku <tommyku@users.noreply.github.com>|
|
||||
|1|Totonyus <Totonyus@users.noreply.github.com>|
|
||||
|1|Travis Carr <tmcarr89@gmail.com>|
|
||||
|1|Trevor Ford <trvrfrd@users.noreply.github.com>|
|
||||
|1|Uli <github@uli-fahrer.de>|
|
||||
|1|Vadim Markovtsev <vadim@sourced.tech>|
|
||||
|1|Valentin Zwerschke <v.zwerschke@mail.de>|
|
||||
|1|Vidas P <vp@automaticmode.com>|
|
||||
|1|Viktor Geringer <devfakeplus@googlemail.com>|
|
||||
|1|Vincent Dauce <eXorus@users.noreply.github.com>|
|
||||
|1|Vinod Chandru <vinod.chandru@gmail.com>|
|
||||
|1|Volodymyr Smirnov <volodymyr@smirnov.im>|
|
||||
|1|Vsevolod (Sebastian) Mineev <vsevolod.mineev@gmail.com>|
|
||||
|1|Webmasterish <webmasterish@gmail.com>|
|
||||
|1|Will Browning <will@willbrowning.me>|
|
||||
|1|William Gathoye <william@gathoye.be>|
|
||||
|1|Wonno <Wonno@users.noreply.github.com>|
|
||||
|1|WordsPerMinute <59267072+WordsPerMinute@users.noreply.github.com>|
|
||||
|1|Wundark <weavp001@gmail.com>|
|
||||
|1|Youe Graillot <account@youe.fr>|
|
||||
|1|Yuli <stremovsky@gmail.com>|
|
||||
|1|Yurii Rashkovskii <yrashk@gmail.com>|
|
||||
|1|Zoran Pandovski <zoran.pandovski@gmail.com>|
|
||||
|1|addictedtolearning <3614338+addictedtolearning@users.noreply.github.com>|
|
||||
|1|aeruower <65504420+aeruower@users.noreply.github.com>|
|
||||
|1|alain laptop <alain@biopack.be>|
|
||||
|1|ash <ash@leece.im>|
|
||||
|1|ata-star <62115669+ata-star@users.noreply.github.com>|
|
||||
|1|axeloz <axel@mabox.eu>|
|
||||
|1|benmaynard11 <allowin-217941-github@vhost244.maynardnetworks.com>|
|
||||
|1|bitcoinshirt <36959754+bitcoinshirt@users.noreply.github.com>|
|
||||
|1|bitsii <40513121+bitsii@users.noreply.github.com>|
|
||||
|1|bram2w <bram2w@users.noreply.github.com>|
|
||||
|1|bricej13 <bricej13@gmail.com>|
|
||||
|1|buoyantair <buoyantair@protonmail.com>|
|
||||
|1|buzz <buzz@users.noreply.github.com>|
|
||||
|1|c22 <c22@users.noreply.github.com>|
|
||||
|1|cbdev <cb@cbcdn.com>|
|
||||
|1|chavinlo <85657083+chavinlo@users.noreply.github.com>|
|
||||
|1|cinwell.li <cinwell.li@gmail.com>|
|
||||
|1|clach04 <clach04@gmail.com>|
|
||||
|1|costpermille <costpermille@users.noreply.github.com>|
|
||||
|1|cpdev <cpdevelops@users.noreply.github.com>|
|
||||
|1|cranberry <georg@lysergic.dev>|
|
||||
|1|darkdragon-001 <darkdragon-001@users.noreply.github.com>|
|
||||
|1|dgtlmoon <leigh@morresi.net>|
|
||||
|1|dicedtomato <35403473+diced@users.noreply.github.com>|
|
||||
|1|diemade <spamkill@posteo.ch>|
|
||||
|1|digdilem <digdilem@gmail.com>|
|
||||
|1|dimqua <dimqua@lavabit.com>|
|
||||
|1|disk0x <mdtha@tutanota.com>|
|
||||
@ -891,6 +1031,7 @@
|
||||
|1|em <github@maauer.com>|
|
||||
|1|emmanouil <emmanouil@users.noreply.github.com>|
|
||||
|1|evitalis <evitalis@users.noreply.github.com>|
|
||||
|1|faldez <fadhlika@gmail.com>|
|
||||
|1|fghhfg <fghhfg@users.noreply.github.com>|
|
||||
|1|fi78 <31729946+fi78@users.noreply.github.com>|
|
||||
|1|florianl <florianl@users.noreply.github.com>|
|
||||
@ -899,23 +1040,34 @@
|
||||
|1|gloriafolaron <55953099+gloriafolaron@users.noreply.github.com>|
|
||||
|1|golangci <35628013+golangci@users.noreply.github.com>|
|
||||
|1|ice-92 <ice-92@users.noreply.github.com>|
|
||||
|1|ifshee <85419413+ifshee@users.noreply.github.com>|
|
||||
|1|ilsi <ilsi@users.noreply.github.com>|
|
||||
|1|inkhey <guenael.muller@algoo.fr>|
|
||||
|1|inkhey <mail@inkey-art.net>|
|
||||
|1|itsnotv <itsnotv@users.noreply.github.com>|
|
||||
|1|jake <jake@diesel>|
|
||||
|1|jan6 <Jan69@users.noreply.github.com>|
|
||||
|1|jarek91 <jarek91@users.noreply.github.com>|
|
||||
|1|jgi <public-devgit-common@gissehel.org>|
|
||||
|1|jordan <46956980+slurpyb@users.noreply.github.com>|
|
||||
|1|josephernest <nouvellecollection@gmail.com>|
|
||||
|1|josh <joshua.r.li.98@gmail.com>|
|
||||
|1|kermieisinthehouse <kermie@isinthe.house>|
|
||||
|1|kevodwyer <kevodwyer@protonmail.ch>|
|
||||
|1|kkhoury38 <49880604+kkhoury38@users.noreply.github.com>|
|
||||
|1|kn0wmad <kn0wmad@protonmail.com>|
|
||||
|1|lachlan-00 <lachlan.00@gmail.com>|
|
||||
|1|lardbit <45122868+lardbit@users.noreply.github.com>|
|
||||
|1|larspontoppidan <36330737+larspontoppidan@users.noreply.github.com>|
|
||||
|1|lemon24 <damian.adrian24@gmail.com>|
|
||||
|1|linbreux <29354411+Linbreux@users.noreply.github.com>|
|
||||
|1|littleguga <littleguga@users.noreply.github.com>|
|
||||
|1|londonatil <65257173+londonatil@users.noreply.github.com>|
|
||||
|1|lsascha <lsascha@gmail.com>|
|
||||
|1|ludo444 <ludo444@gmx.com>|
|
||||
|1|luwol03 <60048565+luwol03@users.noreply.github.com>|
|
||||
|1|macmusz <m.muszytowski@simplito.com>|
|
||||
|1|mawise <matthew.rs.wise@gmail.com>|
|
||||
|1|mclang <1721600+mclang@users.noreply.github.com>|
|
||||
|1|memorex258 <phillip.a.brown@live.com>|
|
||||
|1|mertinop <martin.santibanez.a@gmail.com>|
|
||||
@ -924,10 +1076,13 @@
|
||||
|1|mundurragacl <mundurragacl@gmail.com>|
|
||||
|1|mxroute <37432698+mxroute@users.noreply.github.com>|
|
||||
|1|n2i <xuansamdinh.n2i@gmail.com>|
|
||||
|1|nicod_ <nicod@lerebooteux.fr>|
|
||||
|1|niedev <luca.martino181@gmail.com>|
|
||||
|1|nodomain <ff@nodomain.cc>|
|
||||
|1|norstbox <norstbox@users.noreply.github.com>|
|
||||
|1|notdev007 <90059861+notdev007@users.noreply.github.com>|
|
||||
|1|nwerker <45071484+nwerker@users.noreply.github.com>|
|
||||
|1|orhun <orhun@archlinux.org>|
|
||||
|1|pastapojken <pastapojken@users.noreply.github.com>|
|
||||
|1|philipp-r || 333 <philipp-r@users.noreply.github.com>|
|
||||
|1|phobot <piter90@gmail.com>|
|
||||
@ -936,8 +1091,11 @@
|
||||
|1|poVoq <wm_jkm@yahoo.com>|
|
||||
|1|railscard <railscard@gmail.com>|
|
||||
|1|raman325 <7243222+raman325@users.noreply.github.com>|
|
||||
|1|ran88dom99 <rain8dome9@gmail.com>|
|
||||
|1|reddec <owner@reddec.net>|
|
||||
|1|rennokki <alex@renoki.org>|
|
||||
|1|sc0repi0 <sc0repi0@gmx.de>|
|
||||
|1|shamoon <4887959+shamoon@users.noreply.github.com>|
|
||||
|1|skarphet <skarphet@users.noreply.github.com>|
|
||||
|1|soumyadebm <52487451+soumyadebm@users.noreply.github.com>|
|
||||
|1|sqozz <sqozz@geekify.de>|
|
||||
@ -953,14 +1111,17 @@
|
||||
|1|trendschau <trendschau@gmail.com>|
|
||||
|1|ttoups <ich@timotoups.de>|
|
||||
|1|uchchishta <uchchishta@users.noreply.github.com>|
|
||||
|1|vendeeglobe <54716082+vendeeglobe@users.noreply.github.com>|
|
||||
|1|viktorstrate <viktorstrate@gmail.com>|
|
||||
|1|vincent-clipet <vincent.clipet.7@gmail.com>|
|
||||
|1|vinz243 <vinz243@opmbx.org>|
|
||||
|1|volmarg <dwlodarczyk12@gmail.com>|
|
||||
|1|wimanshaherath <wimanshah@gmail.com>|
|
||||
|1|wxcafé <wxcafe@wxcafe.net>|
|
||||
|1|xnbox <87331910+xnbox@users.noreply.github.com>|
|
||||
|1|xuansamdinh <xuansamdinh.n2i@gmail.com>|
|
||||
|1|zneix <44851575+zneix@users.noreply.github.com>|
|
||||
|1|zonk1 <arne.rusek+github@matfyz.cz>|
|
||||
|1|zotlabs <mike@macgirvin.com>|
|
||||
|1|zzemla <zbyszek@shorelabs.com>|
|
||||
|1|Руслан Корнев <oganer@gmail.com>|
|
||||
|
6
Makefile
6
Makefile
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/make -f
|
||||
SHELL = /bin/bash
|
||||
AWESOME_BOT_OPTIONS = --allow-redirect --skip-save-results --allow 202 --white-list flaskbb.org,nitter.net,airsonic.github.io/docs/apps
|
||||
AWESOME_BOT_OPTIONS = --allow-redirect --request-delay 1 --skip-save-results --allow 202 --white-list flaskbb.org,nitter.net,airsonic.github.io/docs/apps
|
||||
|
||||
all: check_all
|
||||
|
||||
@ -21,9 +21,9 @@ check_syntax_diff:
|
||||
awesome_bot -f temp.md $(AWESOME_BOT_OPTIONS)
|
||||
|
||||
# check dead links
|
||||
# https://github.com/dkhamsing/awesome_bot
|
||||
# sudo apt install ruby && install --user-install awesome_bot
|
||||
awesome_bot:
|
||||
awesome_bot -f README.md $(AWESOME_BOT_OPTIONS)
|
||||
~/.local/share/gem/ruby/2.7.0/bin/awesome_bot -f README.md $(AWESOME_BOT_OPTIONS)
|
||||
|
||||
# check date of last commit for github.com repository URLs
|
||||
check_github_commit_dates:
|
||||
|
45
non-free.md
45
non-free.md
@ -1,12 +1,16 @@
|
||||
# Awesome Selfhosted - Proprietary Software
|
||||
# Awesome Selfhosted - Non-Free Software
|
||||
|
||||
**Software listed here does not allow you to run it for any purpose, study, modify or distribute the source code.** Some of the software here may not be audited due to its closed source nature, and can therefore contain anti-features, such as but not limited to: undisclosed security vulnerabilities, backdoors, user lock-in, sending personal data to a third party.
|
||||
**Software listed here does not meet the [Free Software](https://en.wikipedia.org/wiki/Free_software) definition**. It implements their own licensing with restrictions and grants which you must check on each case. Restrictions may include limits on allowed use of the software, access to the source code, modification and further redistribution. This software can therefore contain anti user-freedom features, such as but not limited to: backdoors, user lock-in, sending personal data to a third party.
|
||||
|
||||
## Analytics
|
||||
|
||||
- [66Analytics](https://66analytics.com/) `⊘ Proprietary` - 66Analytics is a self-hosted, friendly, all-in-one web analytics tool. Lightweight tracking, session replays, heatmaps, user journeys & more. Can be used for personal reasons & can be white labeled to start a SAAS. ([Demo](https://66analytics.com/demo)) `PHP/MySQL`
|
||||
- [userTrack](https://www.usertrack.net/) `⊘ Proprietary` - userTrack is a web analytics platform with heatmaps, session recordings and powerful user segmentation feature. Updated very regularly. ([Demo](https://dashboard.usertrack.net/server/demoLogin.php)) `PHP/MySQL/ReactJS`
|
||||
- [UXLens](https://uxlens.com/) `⊘ Proprietary` - UXLens is a website visitor recording software meant for identifying UI issues and fix them to improve user experience. Formerly known as SessionRecord ([Demo](https://console.uxlens.com/test)) `Docker Nodejs`
|
||||
|
||||
## Automation
|
||||
- [n8n](https://n8n.io/) - Free node based Workflow Automation Tool. Easily automate tasks across different services. ([Source Code](https://github.com/n8n-io/n8n)) `Apache-2.0 with Commons Clause` `Nodejs`
|
||||
|
||||
|
||||
## Content Management Systems (CMS)
|
||||
|
||||
@ -14,17 +18,23 @@
|
||||
- [Gazelle](https://github.com/WhatCD/Gazelle) - Gazelle is a web framework geared towards private BitTorrent trackers. Although naturally focusing on music, it can be modified for most needs. `unlicensed` `PHP`
|
||||
- [Kirby](https://getkirby.com/) `⊘ Proprietary` - File-based CMS. Easy to setup. Easy to use. Flexible as hell. ([Source Code](https://github.com/getkirby/kirby)) `PHP`
|
||||
|
||||
|
||||
### E-Commerce
|
||||
|
||||
- [Sharetribe](https://www.sharetribe.com) `⊘ Proprietary` - An open source platform to create your own peer-to-peer marketplace, also available with SaaS model. ([Source Code](https://github.com/sharetribe/sharetribe)) `Ruby`
|
||||
|
||||
|
||||
## Communication Systems
|
||||
|
||||
- [Dialog](https://dlg.im) `⊘ Proprietary` - Handy and feature-rich multi-device solution with native mobile clients, SIP integration, chatbots, 3rd-party integrations. It brings communication efficiency without sacrificing privacy. Works in closed circuit, encrypts push notifications. ([Demo](https://dlg.im/en/download)) `Scala/Go`
|
||||
- [Groupboard](https://www.groupboard.com) `⊘ Proprietary` - Online whiteboard, audio/video conferencing, screen sharing, shared code editing and optional session recording/playback.
|
||||
- [PrivMX WebMail](https://privmx.com) - an alternative private mail system - web-based, end-to-end encrypted by design, self-hosted, decentralized, uses independent PKI. Easy to install and administrate, freeware, open-source. `PHP`
|
||||
- [WorkAdventure](https://workadventu.re) `AGPL-3.0 + Commons Clause` - A virtual office / virtual conference application presented as a 16-bit RPG video game. ([Demo](https://play.staging.workadventu.re/@/tcm/workadventure/wa-village), [Source Code](https://github.com/thecodingmachine/workadventure/)) `Docker`
|
||||
|
||||
|
||||
## E-books and Integrated Library Systems (ILS)
|
||||
|
||||
- [Bookwyrm](https://joinbookwyrm.com/) `⊘ Proprietary` - BookWyrm is a social network for tracking your reading, talking about books, writing reviews, and discovering what to read next. ([Source Code](https://github.com/bookwyrm-social/bookwyrm)) `Python`
|
||||
- [Ubooquity](https://vaemendis.net/ubooquity/) `⊘ Proprietary` - Ubooquity is a free to use, versatile, lightweight, multi-platform, and secure home server for your comic and e-book library. `Java`
|
||||
|
||||
|
||||
@ -32,19 +42,19 @@
|
||||
|
||||
- [Yetishare](https://yetishare.com) `⊘ Proprietary` - A powerful file hosting script with support for Amazon S3, Wasabi, Backblaze, local, direct and SFTP storage. ([Demo](https://fhscript.com)) `PHP`
|
||||
- [Resilio Sync](https://www.resilio.com/) `⊘ Proprietary` - Resilio Sync by Resilio, Inc is a proprietary peer-to-peer file synchronisation tool.
|
||||
- [Drive Virtual](http://www.drivevirtual.com/) `⊘ Proprietary` - With Drive Virtual you can sync, backup and share your files privately with your own FTP (SFTP) server or account.
|
||||
- [Dropcenter](http://projet.idleman.fr/dropcenter/) - Upload files by simple drag-n-drop. ([Source Code](https://github.com/ldleman/dropcenter)) `CCBYNCSAv3` `PHP`
|
||||
- [Dropcenter](http://projet.idleman.fr/dropcenter/) - Upload files by simple drag-n-drop. ([Source Code](https://github.com/ldleman/dropcenter)) `CC-BY-NC-SA-3.0` `PHP`
|
||||
- [FileRun](http://www.filerun.com/) `⊘ Proprietary` - A complete solution for your files with integration with Google and Office. ([Demo](http://www.filerun.com/demo)) `PHP`
|
||||
|
||||
|
||||
## Games
|
||||
|
||||
- [Cubiks-2048](https://github.com/Kshitij-Banerjee/Cubiks-2048) - Clone of 2048 game in 3D. ([Demo](https://kshitij-banerjee.github.io/Cubiks-2048/)) `CCBYNCv4` `HTML5`
|
||||
- [Cubiks-2048](https://github.com/Kshitij-Banerjee/Cubiks-2048) - Clone of 2048 game in 3D. ([Demo](https://kshitij-banerjee.github.io/Cubiks-2048/)) `CC-BY-NC-4.0` `HTML5`
|
||||
- [untrusted](https://github.com/AlexNisnevich/untrusted) - Untrusted is a unique puzzle game designed for geeks and developers, where you solve the puzzles in the game by reading and writing Javascript. ([Demo](http://alex.nisnevich.com/untrusted/)) `CCBYNCSAv3/Custom` `Nodejs`
|
||||
|
||||
## Internet Of Things (IoT)
|
||||
- [Atman IoT](https://atman-iot.com) - Atman IoT is a self hosted IoT gateway focused on IoT solution rapid prototyping, packaged as stand alone docker container, promising to help you build your IoT solution in a week!. ([Demo](https://atman-iot.com/signup-redirect)) `⊘ Proprietary` `Nodejs`
|
||||
|
||||
|
||||
## IPBX
|
||||
|
||||
- [Elastix](http://www.elastix.org) `⊘ Proprietary` - Unified communications server software based on 3CX.
|
||||
@ -52,7 +62,8 @@
|
||||
|
||||
## Maps & GPS
|
||||
|
||||
- [OpenMapTiles Server](https://openmaptiles.org/) `⊘ Proprietary` - Set of tools for self-hosting of OpenStreetMap vector tiles. ([Partial Source Code](https://github.com/openmaptiles)) `Python/JavaScript`
|
||||
- [MapTiler Server](https://www.maptiler.com/server/) `⊘ Proprietary` - Software for self-hosting of OpenStreetMap vector tiles, satellite imagery, own geodata and data from PostGIS database.
|
||||
|
||||
|
||||
## Media Streaming
|
||||
|
||||
@ -73,7 +84,6 @@
|
||||
|
||||
- [ArtVenue](http://codecanyon.net/item/artvenue-image-sharing-community-script/5771542) `⊘ Proprietary` - Start your own photography community website, platform based on the Laravel PHP Framework. ([Demo](http://codecanyon.net/item/artvenue-image-sharing-community-script/full_screen_preview/5771542)) `PHP`
|
||||
- [Chevereto](https://chevereto.com/) `⊘ Proprietary` - A powerful and fast image hosting script that allows you to create your very own full featured image hosting website in just minutes. ([Demo](http://demo.chevereto.com/)) `PHP`
|
||||
- [Koken](http://koken.me/) `⊘ Proprietary` - Content management and web site publishing for photographers. `PHP`
|
||||
- [Lomorage](https://lomorage.com/) `⊘ Proprietary` - Google photo alternative via simple self-hosting software. Supported clients: iOS, Android, Web, MAC/Windows. Backend can run on Raspberry pi, Armbian, MAC/Windows/Linux `GO`
|
||||
- [PhotoStructure](https://photostructure.com/) `⊘ Proprietary` - All your family's photos and videos automatically organized into a fun and beautiful website. Runs via Docker, NodeJS, or native desktop installers. `NodeJS`
|
||||
- [Reservo](https://reservo.co) `⊘ Proprietary` - A scalable image hosting script with support for CDNs, paid account upgrades, advertising spots and drag & drop upload. ([Demo](https://demo.reservo.co/)) `PHP`
|
||||
@ -81,6 +91,7 @@
|
||||
|
||||
|
||||
## Project Management
|
||||
|
||||
- [Active Collab](https://www.activecollab.com/) `⊘ Proprietary` - Project management - `PHP`
|
||||
- [Duet](https://duetapp.com/) `⊘ Proprietary` - Invoicing and project management with an integrated client portal. ([Demo](https://duetapp.com/start-demo)) `PHP`
|
||||
- [Kanban Tool](https://kanbantool.com/kanban-tool-on-site) `⊘ Proprietary` - Advanced Kanban boards with time tracking. `Ruby On Rails`
|
||||
@ -89,6 +100,7 @@
|
||||
|
||||
|
||||
## Self-hosting Solutions
|
||||
|
||||
- [Axigen](https://www.axigen.com/mail-server/free/) `⊘ Proprietary` - Great alternative to open source. It's a turnkey messaging solution, perfect for small & micro businesses, integration projects or test environments.
|
||||
- [Cloudron](https://cloudron.io) `⊘ Proprietary` - Open-core software allowing you to effortlessly self-host web apps on your server. ([Source Code](https://git.cloudron.io/groups/cloudron))([Demo](https://my.demo.cloudron.io/)) `Nodejs/Docker`
|
||||
- [EmbassyOS](https://start9labs.com) - `⊘ Proprietary` A graphical Operating System for running self-hosted, open source services. ([Source Code](https://github.com/Start9Labs/embassy-os)) `Start9 Personal Use License` `Rust`
|
||||
@ -98,18 +110,18 @@
|
||||
|
||||
## Software Development
|
||||
|
||||
- [92five](http://92fiveapp.com/) `⊘ Proprietary` - Self hosted project management application ([Source code](https://github.com/chintanbanugaria/92five)) `CC BY-NC 4.0` `PHP`
|
||||
- [92five](http://92fiveapp.com/) `⊘ Proprietary` - Self hosted project management application ([Source code](https://github.com/chintanbanugaria/92five)) `CC-BY-NC-4.0` `PHP`
|
||||
- [Bamboo](https://www.atlassian.com/software/bamboo) `⊘ Proprietary` - A continuous integration server `Java`
|
||||
- [Buddy Enterprise](https://buddy.works/) - The Git and Continuous Integration / Delivery Platform. `⊘ Proprietary` `Nodejs/Java`
|
||||
- [Cloud9](https://c9.io/) `⊘ Proprietary` - Your development environment, in the cloud ([Source code](https://github.com/c9/core)) `Nodejs`
|
||||
- [Crucible](https://www.atlassian.com/software/crucible/overview) `⊘ Proprietary` - A peer code review application `Java`
|
||||
- [Documize](https://documize.com) `⊘ Proprietary` - Modern docs & wiki software built for software team collaboration. `Go`
|
||||
- [JIRA](https://www.atlassian.com/software/jira) `⊘ Proprietary` - A professional and extensible issue tracker `Java`
|
||||
- [Kloudless](https://kloudless.com) `⊘ Proprietary` - Platform for native, embedded, SaaS integrations using Unified APIs. `Python`
|
||||
- [RhodeCode](https://rhodecode.com) `⊘ Proprietary` - On-premise Source Code Management for Mercurial, Git & Subversion. `Python`
|
||||
- [BitBucket Server](https://www.atlassian.com/software/bitbucket/server) `⊘ Proprietary` - An enterprise-level Git solution similar to GitLab `Java`
|
||||
|
||||
## Ticketing
|
||||
|
||||
- [Deskpro](https://www.deskpro.com/) `⊘ Proprietary` - On-Premise helpdesk software that includes email, chat, voice & helpcentre publishing. Full visible source code and API.
|
||||
- [Full Help](https://www.fullhelp.com/en/) `⊘ Proprietary` - Simple, easy to use help desk & knowledge base software. Custom branding, custom themes, restful API, communication channels, multi-company support, multi-language support, and much more! At least 1 new release per month. [Changelog](https://www.fullhelp.com/en/changelog) `PHP`
|
||||
- [Jitbit Helpdesk](https://www.jitbit.com/helpdesk/) `⊘ Proprietary` - Self-hosted help desk software - simple but powerful. ([Demo](https://www.jitbit.com/hosted-helpdesk/trial/)) `ASP.NET`
|
||||
@ -118,8 +130,9 @@
|
||||
|
||||
|
||||
## Time Tracking
|
||||
- [Virtual TimeClock](https://www.redcort.com/timeclock) `⊘ Proprietary` - Powerful, easy-to-use time tracking software. ([Demo](https://www.redcort.com/timeclock/free-timeclock-software-trial))
|
||||
|
||||
- [Virtual TimeClock](https://www.redcort.com/timeclock) `⊘ Proprietary` - Powerful, easy-to-use time tracking software. ([Demo](https://www.redcort.com/timeclock/free-timeclock-software-trial))
|
||||
- [Anuko](https://www.anuko.com/time_tracker/index.htm) - Anuko provides simple time and project tracking on a selfhosted basis. ([Demo](https://timetracker.anuko.com/), [Source Code](https://github.com/anuko/timetracker)) `SSPL-1.0` `PHP`
|
||||
|
||||
## Remote Support
|
||||
|
||||
@ -129,3 +142,15 @@
|
||||
### UX testing
|
||||
|
||||
- [Moon](https://aerokube.com/moon/) `⊘ Proprietary` - An efficient Selenium protocol implementation running everything in Kubernetes or Openshift. `Go`
|
||||
|
||||
<!-- END SOFTWARE LIST -->
|
||||
|
||||
--------------------
|
||||
|
||||
## List of Licenses
|
||||
|
||||
**[`^ back to top ^`](#)**
|
||||
|
||||
- `CC-BY-NC-SA-3.0` - [Creative Commons Attribution-NonCommercial-ShareAlike 3.0 International License](https://creativecommons.org/licenses/by-nc-sa/3.0/)
|
||||
- `DPL` - [Devblocks Public License 1.0](https://cerb.ai/license/)
|
||||
- `SSPL-1.0` - [Server Side Public License](https://spdx.org/licenses/SSPL-1.0.html)
|
||||
|
@ -7,10 +7,12 @@ Requirements:
|
||||
- A personal access token (https://github.com/settings/tokens)
|
||||
|
||||
Usage:
|
||||
- Github graphql API calls are limited to 5000 points/hour https://docs.github.com/en/graphql/overview/resource-limitations
|
||||
- Run awesome_bot --allow-redirect -f README.md beforehand to detect any error(4xx, 5xx) that would
|
||||
cause the script to abort
|
||||
- Github API calls are limited to 5000 requests/hour https://developer.github.com/v3/#rate-limiting
|
||||
- Put the token in your environment variables:
|
||||
export GITHUB_TOKEN=18c45f8d8d556492d1d877998a5b311b368a76e4
|
||||
- The output is sorted oldest to newest
|
||||
- The output is unsorted, just pipe it through 'sort' or paste it in your editor and sort from there
|
||||
- Put the script in your crontab or run it from time to time. It doesn't make sense to add this
|
||||
script to the CI job that runs every time something is pushed.
|
||||
- To detect no-commit related activity (repo metadata changes, wiki edits, ...), replace pushed_at
|
||||
@ -18,15 +20,11 @@ Usage:
|
||||
|
||||
"""
|
||||
|
||||
import math
|
||||
from github import Github
|
||||
import sys
|
||||
import time
|
||||
import re
|
||||
import os
|
||||
import logging
|
||||
import requests
|
||||
from requests.adapters import HTTPAdapter
|
||||
from requests.exceptions import ConnectionError
|
||||
from datetime import *
|
||||
|
||||
__author__ = "nodiscc"
|
||||
__copyright__ = "Copyright 2019, nodiscc"
|
||||
@ -38,172 +36,25 @@ __email__ = "nodiscc@gmail.com"
|
||||
__status__ = "Production"
|
||||
|
||||
###############################################################################
|
||||
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s', datefmt='%d-%b-%y %H:%M:%S')
|
||||
|
||||
access_token = os.environ['GITHUB_TOKEN']
|
||||
|
||||
""" find all URLs of the form https://github.com/owner/repo """
|
||||
def parse_github_projects():
|
||||
with open(sys.argv[1], 'r') as readme:
|
||||
logging.info('Testing ' + sys.argv[1])
|
||||
data = readme.read()
|
||||
project_urls = re.findall('https://github\.com/([a-zA-Z\d\-\._]{1,39}/[a-zA-Z\d\-\._]{1,39})(?=\)|/|#\s)', data)
|
||||
""" Uncomment this to debug the list of matched URLs """
|
||||
# print(str(project_urls))
|
||||
# print(len(project_urls))
|
||||
# with open('links.txt', 'w') as filehandle:
|
||||
# for l in project_urls:
|
||||
# filehandle.write('%s\n' % l)
|
||||
with open('README.md', 'r') as readme:
|
||||
data = readme.read()
|
||||
project_urls = re.findall('https://github.com/[A-z]*/[A-z|0-9|\-|_|\.]+', data)
|
||||
|
||||
# exit(0)
|
||||
sorted_urls = sorted(set(project_urls))
|
||||
logging.info('Checking ' + str(len(sorted_urls)) + ' github repos.')
|
||||
return sorted_urls
|
||||
urls = sorted(set(project_urls))
|
||||
|
||||
""" Uncomment this to debug the list of matched URLs """
|
||||
# print(str(urls))
|
||||
# exit(0)
|
||||
|
||||
""" function to query Github graphql API """
|
||||
def query_github_api(query):
|
||||
access_token = os.environ['GITHUB_TOKEN']
|
||||
headers = {"Authorization": "Bearer " + access_token}
|
||||
github_adapter = HTTPAdapter(max_retries=7)
|
||||
session = requests.Session()
|
||||
session.mount('https:api.github.com/graphql', github_adapter)
|
||||
try:
|
||||
response = session.post('https://api.github.com/graphql', timeout=(10) , json={'query': query}, headers=headers)
|
||||
response.raise_for_status()
|
||||
#logging.debug(response.json())
|
||||
return response.json()
|
||||
except requests.exceptions.HTTPError as errh:
|
||||
logging.error("An Http Error occurred:" + repr(errh))
|
||||
return {'errors': [{'type': 'HTTP Error'}]}
|
||||
except requests.exceptions.ConnectionError as errc:
|
||||
logging.error("An Error Connecting to the API occurred:" + repr(errc))
|
||||
return {"errors": [ { "type": "Connect Error"}]}
|
||||
except requests.exceptions.Timeout as errt:
|
||||
logging.error("A Timeout Error occurred:" + repr(errt))
|
||||
return {"errors": [ { "type": "Timeout Error"}]}
|
||||
except requests.exceptions.RequestException as err:
|
||||
logging.error("An Unknown Error occurred" + repr(err))
|
||||
return {"errors": [ { "type": "Request Exception"}]}
|
||||
""" login to github API """
|
||||
g = Github(access_token)
|
||||
|
||||
""" function to add commas for prettier output"""
|
||||
def add_comma(s):
|
||||
if s != '':
|
||||
s = ', ' + s
|
||||
return s
|
||||
else:
|
||||
return s
|
||||
|
||||
""" function to check remaining rate limit """
|
||||
def check_github_remaining_limit(urls, project_per_call):
|
||||
query = '''
|
||||
query{
|
||||
viewer {
|
||||
login
|
||||
}
|
||||
rateLimit {
|
||||
cost
|
||||
remaining
|
||||
resetAt
|
||||
}
|
||||
}'''
|
||||
logging.info("Checking github api remaining rate limit.")
|
||||
result = query_github_api(query)
|
||||
if 'errors' in result:
|
||||
logging.error(result["errors"][0]["type"] + ", " + result["errors"][0]["message"])
|
||||
with open('github_commit_dates.md', 'w') as filehandle:
|
||||
filehandle.write('%s\n' % '--------------------\n### Github commit date checks')
|
||||
filehandle.write(result["errors"][0]["type"] + ", " + result["errors"][0]["message"])
|
||||
else:
|
||||
if result["data"]["rateLimit"]["remaining"] < len(urls):
|
||||
logging.error('Github api calls remaining is insufficient, exiting.')
|
||||
logging.error('URLS: ' + str(len(urls)) + ', api calls remaining: ' + str(result["data"]["rateLimit"]["remaining"]) + ', Resets at: ' + str(result["data"]["rateLimit"]["resetAt"]))
|
||||
with open('github_commit_dates.md', 'w') as filehandle:
|
||||
filehandle.write('%s\n' % '--------------------\n### Github commit date checks')
|
||||
filehandle.write('Github api calls remaining is insufficient, exiting.\n')
|
||||
filehandle.write('URLS: ' + str(len(urls)) + str(math.ceil(len(urls) / project_per_call)) + ', Github API cost: ' + ', api calls remaining: ' + str(result["data"]["rateLimit"]["remaining"]) + ', Resets at: ' + str(result["data"]["rateLimit"]["resetAt"]) + '\n')
|
||||
sys.exit(1)
|
||||
|
||||
def parse_api_output(github_graphql_data, url_store):
|
||||
output = []
|
||||
if "errors" in github_graphql_data:
|
||||
for e in github_graphql_data["errors"]:
|
||||
print(e)
|
||||
logging.info('https://github.com/'+ url_store[e["path"][0]] + ", " + e["type"])
|
||||
output.append([date(1900, 1, 1),'https://github.com/'+ url_store[e["path"][0]], e["type"]])
|
||||
if "data" in github_graphql_data:
|
||||
for g, v in github_graphql_data["data"].items():
|
||||
if github_graphql_data["data"][g] == None:
|
||||
continue
|
||||
elif g == 'rateLimit':
|
||||
logging.info('Remaining Ratelimit: ' + str(github_graphql_data["data"][g]["remaining"]) + ' Cost: ' + str(github_graphql_data["data"][g]["cost"]))
|
||||
else:
|
||||
has_issue = False
|
||||
note = ''
|
||||
if github_graphql_data["data"][g]["isArchived"] == True:
|
||||
has_issue = True
|
||||
note = 'Archived'
|
||||
if github_graphql_data["data"][g]["isDisabled"] == True:
|
||||
if note == '':
|
||||
has_issue = True
|
||||
note = 'Disabled'
|
||||
else:
|
||||
note = note + ', Disabled'
|
||||
if github_graphql_data["data"][g]["nameWithOwner"] != url_store[g]:
|
||||
if note == '':
|
||||
has_issue = True
|
||||
note = 'Moved to https://github.com/'+ github_graphql_data["data"][g]["nameWithOwner"]
|
||||
else:
|
||||
note = note + ', Moved to https://github.com/'+ github_graphql_data["data"][g]["nameWithOwner"]
|
||||
project_pushed_at = datetime.strptime(github_graphql_data["data"][g]["pushedAt"], '%Y-%m-%dT%H:%M:%SZ').date()
|
||||
if project_pushed_at < (date.today() - timedelta(days = 365)):
|
||||
has_issue = True
|
||||
if has_issue:
|
||||
output.append([project_pushed_at, 'https://github.com/'+url_store[g], note])
|
||||
logging.info(str(project_pushed_at)+' | https://github.com/'+url_store[g]+' | '+note)
|
||||
return output
|
||||
|
||||
def github_api_alias(url):
|
||||
replace = ["-", "/", "."]
|
||||
for s in replace:
|
||||
url = url.replace(s, "_")
|
||||
return "_" + url
|
||||
|
||||
def build_query(urls, project_per_call):
|
||||
i = 0
|
||||
output = []
|
||||
query_param = '{pushedAt updatedAt isArchived isDisabled nameWithOwner}'
|
||||
url_store = {}
|
||||
while (i < len(urls)):
|
||||
query_repo_count = 0
|
||||
query = "query{rateLimit{cost remaining resetAt}"
|
||||
while (query_repo_count < project_per_call and i < len(urls)):
|
||||
key = github_api_alias(urls[i])
|
||||
url_store[key] = urls[i]
|
||||
split = urls[i].split("/")
|
||||
query += key + ':' + 'repository(owner:"' + split[0] + '" name:"' + split[1] + '")' + query_param
|
||||
query_repo_count += 1
|
||||
i += 1
|
||||
query += "}"
|
||||
output.extend(parse_api_output(query_github_api(query), url_store))
|
||||
logging.debug('Total: ' + str(len(urls)) + ' Checked: ' + str(len(url_store)))
|
||||
return output
|
||||
|
||||
def main():
|
||||
project_per_call = 100
|
||||
urls = parse_github_projects()
|
||||
check_github_remaining_limit(urls, project_per_call)
|
||||
output = build_query(urls, project_per_call)
|
||||
if len(output) > 0:
|
||||
sorted_list = sorted(output, key=lambda x: x[0])
|
||||
with open('github_commit_dates.md', 'w') as filehandle:
|
||||
filehandle.write('%s\n' % '--------------------\n### Github commit date checks')
|
||||
filehandle.write('%s\n' % '#### There were %s repos with issues.' % str(len(output)))
|
||||
for l in sorted_list:
|
||||
filehandle.write('* [ ] %s, %s%s \n' % (str(l[0]), l[1], add_comma(l[2])))
|
||||
sys.exit(1)
|
||||
else:
|
||||
with open('github_commit_dates.md', 'w') as filehandle:
|
||||
filehandle.write('%s\n' % '--------------------\n### Github commit date checks')
|
||||
filehandle.write('%s\n' % '#### There were no repos with issues.')
|
||||
exit(0)
|
||||
|
||||
main()
|
||||
""" load project metadata, output last commit date and URL """
|
||||
for url in urls:
|
||||
project = re.sub('https://github.com/', '', url)
|
||||
repo = g.get_repo(project)
|
||||
print(str(repo.pushed_at) + ' https://github.com/' + project)
|
||||
|
@ -1 +0,0 @@
|
||||
flaskbb.org,nitter.net,airsonic.github.io/docs/apps
|
@ -8,7 +8,6 @@ let licenses = new Set();
|
||||
let pr = false;
|
||||
let readme;
|
||||
let diff;
|
||||
let mdOutput = [];
|
||||
|
||||
//Parse the command options and set the pr var
|
||||
function parseArgs(args) {
|
||||
@ -43,11 +42,10 @@ function split(text) {
|
||||
|
||||
// All entries should match this pattern. If matches pattern returns true.
|
||||
function findPattern(text) {
|
||||
const patt = /^\s{0,2}-\s\[.*?\]\(.*?\) (`⚠` )?- .{0,249}?\.( \(\[(Demo|Source Code|Clients)\]\([^)\]]*\)(, \[(Source Code|Clients)\]\([^)\]]*\))?(, \[(Source Code|Clients)\]\([^)\]]*\))*\))? \`.*?\` \`.*?\`$/m;
|
||||
const patt = /^\s{0,2}-\s\[.*?\]\(.*?\) (`⚠` )?- .{0,249}?\.( \(\[(Demo|Source Code|Clients)\]\([^)\]]*\)(, \[(Source Code|Clients)\]\([^)\]]*\))?(, \[(Source Code|Clients)\]\([^)\]]*\))*\))? \`.*?\` \`.*?\`$/;
|
||||
if (patt.test(text) === true) {
|
||||
return true;
|
||||
}
|
||||
console.log("Failed: "+text)
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -63,9 +61,9 @@ function testMainLink(text) {
|
||||
const testA1 = /(- \W?\w*\W{0,2}.*?\)?)( .*$)/;
|
||||
if (!testA.test(text)) {
|
||||
let a1 = testA1.exec(text)[2];
|
||||
return [chalk.red(text.replace(a1, '')), '🢂' + text.replace(a1, '') + '🢀']
|
||||
return chalk.red(text.replace(a1, ''))
|
||||
}
|
||||
return [chalk.green(testA.exec(text)[1]), testA.exec(text)[1]]
|
||||
return chalk.green(testA.exec(text)[1])
|
||||
}
|
||||
|
||||
//Test '`⚠` - Short description, less than 250 characters.'
|
||||
@ -76,23 +74,23 @@ function testDescription(text) {
|
||||
if (!testB.test(text)) {
|
||||
let b1 = testA1.exec(text)[1];
|
||||
let b2 = testB2.exec(text)[1];
|
||||
return [chalk.red(text.replace(b1, '').replace(b2, '')), '🢂' + text.replace(b1, '').replace(b2, '') + '🢀' ]
|
||||
return chalk.red(text.replace(b1, '').replace(b2, ''))
|
||||
}
|
||||
return [chalk.green(testB.exec(text)[1]), testB.exec(text)[1]]
|
||||
return chalk.green(testB.exec(text)[1])
|
||||
}
|
||||
|
||||
//If present, tests '([Demo](http://url.to/demo), [Source Code](http://url.of/source/code), [Clients](https://url.to/list/of/related/clients-or-apps))'
|
||||
function testSrcDemCli(text) {
|
||||
let testC = text.search(/\.\ \(|\.\ \[|\ \(\[[sSdDcC]/); // /\(\[|\)\,|\)\)/);
|
||||
let testD = /(?<=\w. )(\(\[(Demo|Source Code|Clients)\]\([^)\]]*\)(, \[(Source Code|Clients)\]\([^)\]]*\))?(, \[(Source Code|Clients)\]\([^)\]]*\))*\) )(?=\`?)/;
|
||||
let testD = /(?<=\w. )(\(\[(Demo|Source Code|Clients)\]\([^)\]]*\)(, \[(Source Code|Clients)\]\([^)\]]*\))?(, \[(Source Code|Clients)\]\([^)\]]*\))*\))(?= \`?)/;
|
||||
const testD1 = /(^- \W[a-zA-Z0-9-_ .]*\W{0,2}http[^\[]*)(?<= )/;
|
||||
const testD2 = /\ ?(\`.*\` \`.*\`$)/;
|
||||
const testD2 = /(\`.*\` \`.*\`$)/;
|
||||
if ((testC > -1) && (!testD.test(text))) {
|
||||
let d1 = testD1.exec(text)[1];
|
||||
let d2 = testD2.exec(text)[1];
|
||||
return [chalk.red(text.replace(d1, '').replace(d2, '')), '🢂' + text.replace(d1, '').replace(d2, '') + '🢀']
|
||||
return chalk.red(text.replace(d1, '').replace(d2, ''))
|
||||
} else if (testC > -1) {
|
||||
return [chalk.green(testD.exec(text)[1]), testD.exec(text)[1]]
|
||||
return chalk.green(testD.exec(text)[1])
|
||||
}
|
||||
return ""
|
||||
}
|
||||
@ -104,18 +102,19 @@ function testLangLic(text) {
|
||||
const testE1 = /(^[^`]*)/;
|
||||
if (!testE) {
|
||||
let e1 = testE1.exec(text)[1];
|
||||
return [chalk.red(text.replace(e1, '')), '🢂' + text.replace(e1, '') + '🢀']
|
||||
return chalk.red(text.replace(e1, ''))
|
||||
}
|
||||
return [chalk.green(testD2.exec(text)[1]), + testD2.exec(text)[1]]
|
||||
return chalk.green(testD2.exec(text)[1])
|
||||
}
|
||||
|
||||
//Runs all the syntax tests...
|
||||
function findError(text) {
|
||||
resMainLink = testMainLink(text)
|
||||
resDesc= testDescription(text)
|
||||
resSrcDemCli= testSrcDemCli(text)
|
||||
resLangLic= testLangLic(text)
|
||||
return [resMainLink[0] + resDesc[0] + resSrcDemCli[0] + resLangLic[0] + `\n`, '```' + resMainLink[1] + resDesc[1] + resSrcDemCli[1] + resLangLic[1] + '```']
|
||||
let res
|
||||
res = testMainLink(text)
|
||||
res += testDescription(text)
|
||||
res += testSrcDemCli(text)
|
||||
res += testLangLic(text)
|
||||
return res + `\n`
|
||||
}
|
||||
|
||||
//Check if license is in the list of licenses.
|
||||
@ -123,7 +122,7 @@ function testLicense(md) {
|
||||
let pass = true;
|
||||
let lFailed = []
|
||||
let lPassed = []
|
||||
const regex = /.*?\`([a-zA-Z0-9\-\./]*)\`.+$/;
|
||||
const regex = /.*\`(.*)\` .*$/;
|
||||
try {
|
||||
for (l of regex.exec(md)[1].split("/")) {
|
||||
if (!licenses.has(l)) {
|
||||
@ -137,6 +136,11 @@ function testLicense(md) {
|
||||
console.log(chalk.yellow("Error in License syntax, license not checked against list."))
|
||||
return [false, "", ""]
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return [pass, lFailed, lPassed]
|
||||
}
|
||||
|
||||
@ -191,15 +195,14 @@ function entryErrorCheck() {
|
||||
e.pass = true
|
||||
e.name = parseName(e.raw)
|
||||
if (!findPattern(e.raw)) {
|
||||
errorRes = findError(e.raw);
|
||||
e.highlight = errorRes[0];
|
||||
e.highlight = findError(e.raw);
|
||||
e.pass = false;
|
||||
console.log(e.highlight)
|
||||
}
|
||||
e.licenseTest = testLicense(e.raw);
|
||||
if (!e.licenseTest) {
|
||||
e.pass = false;
|
||||
console.log(chalk.red(`${e.name}'s license is not on the License list.`))
|
||||
console.log(chalk.red(`${e.name}'s license is not on License list.`))
|
||||
}
|
||||
if (e.pass) {
|
||||
totalPass++
|
||||
@ -207,7 +210,6 @@ function entryErrorCheck() {
|
||||
totalFail++
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
console.log(chalk.cyan("Testing entire README.md\n"))
|
||||
total = entries.length
|
||||
@ -215,9 +217,7 @@ function entryErrorCheck() {
|
||||
e.pass = true
|
||||
e.name = parseName(e.raw)
|
||||
if (!findPattern(e.raw)) {
|
||||
errorRes = findError(e.raw);
|
||||
e.highlight = errorRes[0];
|
||||
mdOutput.push("* [ ] Line: " + e.line + ": " + e.name + "\n" + errorRes[1]);
|
||||
e.highlight = findError(e.raw);
|
||||
e.pass = false;
|
||||
console.log(`${chalk.yellow(e.line + ": ")}${e.highlight}`);
|
||||
syntax = e.highlight;
|
||||
@ -226,7 +226,6 @@ function entryErrorCheck() {
|
||||
if (!e.licenseTest[0]) {
|
||||
e.pass = false;
|
||||
console.log(chalk.yellow(e.line + ": ") + `${e.name}'s license ${chalk.red(`'${e.licenseTest[1]}'`)} is not on the License list.\n`)
|
||||
mdOutput.push("* [ ] Line: " + e.line + "\n" + e.name + "'s license is not on the License list.")
|
||||
}
|
||||
if (e.pass) {
|
||||
totalPass++
|
||||
@ -239,10 +238,6 @@ function entryErrorCheck() {
|
||||
console.log(chalk.blue(`\n-----------------------------\n`))
|
||||
console.log(chalk.red(`${totalFail} Failed, `) + chalk.green(`${totalPass} Passed, `) + chalk.blue(`of ${total}`))
|
||||
console.log(chalk.blue(`\n-----------------------------\n`))
|
||||
fs.writeFileSync('syntax_check.md', `--------------------\n### Syntax Checks\n#### ${totalFail} Failed, ${totalPass} Passed, of ${total}.\n`)
|
||||
mdOutput.forEach(element => {
|
||||
fs.appendFileSync('syntax_check.md', `${element}\n`)
|
||||
});
|
||||
process.exit(1);
|
||||
} else {
|
||||
console.log(chalk.blue(`\n-----------------------------\n`))
|
||||
|
Loading…
x
Reference in New Issue
Block a user