committed by
GitHub
11 changed files with 1879 additions and 370 deletions
-
10.github/.mailmap
-
13.github/CONTRIBUTING.md
-
14.github/PULL_REQUEST_TEMPLATE.md
-
1.github/join-chat.svg
-
20.travis.yml
-
363AUTHORS.md
-
36Dangerfile
-
62Makefile
-
1528README.md
-
115non-free.md
-
85test.js
@ -0,0 +1,10 @@ |
|||
Kickball <ed.kickball@hotmail.com> <ed.kickball@hotmail.com> |
|||
Andrew Rylatt <AndyR207@users.noreply.github.com> <AndyR207@users.noreply.github.com> <arylatt@users.noreply.github.com> |
|||
n8225 <n8225@users.noreply.github.com> <nrew225@gmail.com> |
|||
Thomas Dalichow <info@thomasdalichow.de> <2012-02-05.github.com@thomasdalichow.de> |
|||
Andrew Rylatt <AndyR207@users.noreply.github.com> <andrew@rylatt.me> |
|||
Keith Thibodeaux <kthibodeaux@peachtreebilling.com> Keith Thibodeaux <kthib89+github@gmail.com> |
|||
Madhu GB <github@madhugb.com> Madhu GB <me@madhugb.com> |
|||
Miguel Piedrafita <github@miguelpiedrafita.com> <git@miguelpiedrafita.com> |
|||
Pavel Lobashov <ShockwaveNN@gmail.com> Pavel Lobashov <shockwavenn@gmail.com> |
|||
Stefan Bohacek <stefan.bohacek@gmail.com> Stefan Bohacek <stefan@fourtonfish.com> |
@ -0,0 +1,13 @@ |
|||
## Contributing |
|||
|
|||
Please join us on [chat](https://chat.awesome-selfhosted.com) to clarify any questions. |
|||
|
|||
* The **syntax** for links is ``[Name](http://homepage/) - Short description. ([Demo](http://url.to/demo), [Source Code](http://url.of/source/code)) `License` `Language` ``. All projects should have their **license** and main server-side **language**/platform/requirement listed, and a description at most 250 characters long. |
|||
* To **add an entry**: clone/[download](https://github.com/Kickball/awesome-selfhosted/archive/master.zip) and enter the repository, run `make add` and follow the instructions; or [edit the README.md file](https://github.com/Kickball/awesome-selfhosted/edit/master/README.md) directly. See [Editing files in another user's repository](https://help.github.com/articles/editing-files-in-another-user-s-repository/), [Creating Pull Requests](https://help.github.com/articles/creating-a-pull-request/), [Using Pull Requests](https://help.github.com/articles/using-pull-requests/) for help on sending your patch. |
|||
* A minimum of 3 entries are required to start a new category, otherwise add to the Misc/Other category. |
|||
* Entries should be ordered alphabetically. |
|||
* Non-[Free](https://en.wikipedia.org/wiki/Free_software) software must be marked `⊘ Proprietary` next to the title, and added to [non-free.md](non-free.md). |
|||
* The `⚠` character must be inserted for software that relies on a third party service the user does not control, e.g ``[Name](http://homepage/) `⚠` - Short description...``. |
|||
* Check current [issues](https://github.com/Kickball/awesome-selfhosted/issues) and [Pull Requests](https://github.com/Kickball/awesome-selfhosted/pulls), as well as [closed issues/PRs](https://github.com/Kickball/awesome-selfhosted/pulls?utf8=%E2%9C%93&q=is%3Aclosed+). |
|||
* The list of contributors can be updated with `make contrib`. Several checks are available: `make noexternallink; make missinglicenselanguage; make nofullstop` |
|||
* Software with no development activity for 6-12 months may be removed from the list. |
@ -0,0 +1,14 @@ |
|||
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: |
|||
|
|||
- [ ] Your submissions are formatted according to the guidelines. |
|||
|
|||
``[Name](http://homepage/) - Short description. ([Demo](http://url.to/demo), [Source Code](http://url.of/source/code)) `License` `Language` `` |
|||
|
|||
- [ ] Your additions are ordered alphabetically. |
|||
- [ ] Your additions are [Free software](https://en.wikipedia.org/wiki/Free_software), or if not they have been added to [non-free](non-free.md). |
|||
- [ ] Your additions are not already listed at [awesome-sysadmin](https://github.com/n1trux/awesome-sysadmin) (IT infrastructure management), [staticgen.com](https://www.staticgen.com/) or [staticsitegenerators.net](https://staticsitegenerators.net/) (static site generators). |
|||
- [ ] Any licenses you have added are in our [list of licenses](https://github.com/Kickball/awesome-selfhosted/blob/master/README.md#list-of-licenses). |
|||
- [ ] You have searched the repository for any relevant issues or PRs. |
|||
- [ ] Any category you are creating has the minimum requirement of 3 items. |
@ -0,0 +1 @@ |
|||
<svg xmlns="http://www.w3.org/2000/svg" width="148" height="20"><linearGradient id="b" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><mask id="a"><rect width="148" height="20" rx="3" fill="#fff"/></mask><g mask="url(#a)"><path fill="#555" d="M0 0h77v20H0z"/><path fill="#4c1" d="M77 0h71v20H77z"/><path fill="url(#b)" d="M0 0h148v20H0z"/></g><g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11"><text x="38.5" y="15" fill="#010101" fill-opacity=".3">Rocket.Chat</text><text x="38.5" y="14">Rocket.Chat</text><text x="111.5" y="15" fill="#010101" fill-opacity=".3">JOIN CHAT</text><text x="111.5" y="14">JOIN CHAT</text></g></svg> |
@ -0,0 +1,20 @@ |
|||
language: node_js |
|||
|
|||
node_js: |
|||
- "node" |
|||
|
|||
before_install: |
|||
- rvm install 2.2 |
|||
- gem install awesome_bot |
|||
- gem install danger |
|||
|
|||
before_script: |
|||
|
|||
script: |
|||
- git diff master.. -U0 README.md | grep -Pos "(?<=^\+).*" >> temp.md || (exit 0) |
|||
- node test.js temp.md |
|||
- awesome_bot temp.md --allow-redirect || (exit 0) |
|||
- danger --verbose |
|||
|
|||
notifications: |
|||
email: false |
@ -0,0 +1,363 @@ |
|||
Commits | Author |
|||
:---: | --- |
|||
435 nodiscc <nodiscc@gmail.com> |
|||
291 Kickball <ed.kickball@hotmail.com> |
|||
163 n8225 <n8225@users.noreply.github.com> |
|||
114 Andrew Rylatt <AndyR207@users.noreply.github.com> |
|||
35 Kovah <mail@kovah.de> |
|||
17 Thomas Dalichow <info@thomasdalichow.de> |
|||
14 Miguel Piedrafita <github@miguelpiedrafita.com> |
|||
13 jungle-boogie <sean@jungleboogie.me> |
|||
12 Alex <alex@maximum.guru> |
|||
12 Pe46dro <pietro@marangon.me> |
|||
10 cave beat <cave@cavebeat.org> |
|||
9 Joubert RedRat <eu+github@redrat.com.br> |
|||
8 CooperBarrett <anthony.lhuissier@openmailbox.org> |
|||
7 édouard u. <mail@edouard.us> |
|||
7 phre4k <me@phre4k.at> |
|||
7 Ilian <ugg.rock@gmail.com> |
|||
7 Andrew Peng <pengc99@gmail.com> |
|||
7 DJCrashdummy <DJCrashdummy@users.noreply.github.com> |
|||
7 Hammy Havoc <hammy@splitanatom.com> |
|||
7 Andrew Rylatt <arylatt@users.noreply.github.com> |
|||
7 n1trux <n1trux@users.noreply.github.com> |
|||
6 cave <cavebeat@users.noreply.github.com> |
|||
6 Per Guth <mail@perguth.de> |
|||
6 Touhid Arastu <touhid.arastu@gmail.com> |
|||
5 Max Maischein <github@corion.net> |
|||
5 Jean Champémont <jchampemont@users.noreply.github.com> |
|||
5 Philip Kirkbride <kirkins@gmail.com> |
|||
5 Moti Korets <moti.kor@gmail.com> |
|||
5 Mohammad Faisal <faisalhmohd@live.com> |
|||
4 Rodolfo Berrios <inbox@rodolfoberrios.com> |
|||
4 Eliot Whalan <ewhal@pantsu.cat> |
|||
4 Joshua Westerheide <dev@jdoubleu.de> |
|||
4 Johannes Zellner <johannes@nebulon.de> |
|||
4 Joery Zegers <accounts@jzegers.nl> |
|||
4 Jean Elchinger <jinformatique@riseup.net> |
|||
4 Jan Vlnas <jnv@users.noreply.github.com> |
|||
4 Ilya Sevostyanov <d3th@zeen.ru> |
|||
4 AndrewCz <smacz42@users.noreply.github.com> |
|||
4 dyu <david.yu.ftw@gmail.com> |
|||
4 dpfaffenbauer <dominik@lineofcode.at> |
|||
4 dattaz <taz@dattaz.fr> |
|||
4 Valmik <mail@valmik.in> |
|||
4 Alexandr Emelin <frvzmb@gmail.com> |
|||
4 Chris McCormick <chris@mccormick.cx> |
|||
4 Cory Gibbons <hello@corygibbons.com> |
|||
4 /c² <cagataycali@icloud.com> |
|||
4 D <DL88250@gmail.com> |
|||
4 paddo <mail@patrickrichter.net> |
|||
4 Marius Voila <marius.voila@gmail.com> |
|||
4 MK <kohenkatz@gmail.com> |
|||
4 Dominik Pfaffenbauer <dominik@lineofcode.at> |
|||
4 Dr. Azrael Tod <github.com@g33ky.de> |
|||
3 Yann Forget <forget.yann31@gmail.com> |
|||
3 Pavan Yara <yarapavan@gmail.com> |
|||
3 Ovidiu Dan <zmarty@users.noreply.github.com> |
|||
3 rett gerst <rettgerst@users.noreply.github.com> |
|||
3 Conor O'Callaghan <brioscaibriste@users.noreply.github.com> |
|||
3 jungle-boogie <sean@rastasean.net> |
|||
3 IrosTheBeggar <paul.sori@gmail.com> |
|||
3 Leo Gaggl <leo@brightcookie.com.au> |
|||
3 Morris Jobke <hey@morrisjobke.de> |
|||
3 Görkem Çetin <gc@count.ly> |
|||
3 Cédric Krier <cedk@users.noreply.github.com> |
|||
3 Ethan Lowman <ethanal@users.noreply.github.com> |
|||
3 George C. Privon <privong@users.noreply.github.com> |
|||
3 Garrett Martin <me@garrettqmartin.com> |
|||
3 Gabin <hello@gabinaureche.com> |
|||
3 Danja Vasiliev <danja@k0a1a.net> |
|||
3 Mathieu Leplatre <mathieu@leplat.re> |
|||
3 Lee Watson <rev@revthefox.co.uk> |
|||
3 Martin Gontovnikas <martin@gon.to> |
|||
3 FoxMaSk <foxmask@users.noreply.github.com> |
|||
3 Mariusz Kozakowski <11mariom+wordpress@gmail.com> |
|||
3 Kevin Hinterlong <kevinhinterlong@users.noreply.github.com> |
|||
3 Harvey Kandola <harvey@documize.com> |
|||
3 Aguay <baraise.valentin@gmail.com> |
|||
3 Marc Picaud <picaud.marc@gmail.com> |
|||
3 Burak Emre Kabakcı <emrekabakci@gmail.com> |
|||
3 Pietro Marangon <pietro.marangon@gmail.com> |
|||
3 Pierre Tinard <Edraens@users.noreply.github.com> |
|||
3 Tobi Schäfer <interface@p3k.org> |
|||
3 Peter Thaleikis <spekulatius@users.noreply.github.com> |
|||
3 pszlazak <pszlazak@users.noreply.github.com> |
|||
3 Akhyar Amarullah <akhyrul@gmail.com> |
|||
3 moba <moba@users.noreply.github.com> |
|||
3 Ye Lin Aung <me@yelinaung.com> |
|||
2 王可森 <wangkesen@users.noreply.github.com> |
|||
2 Adminrezo (Nico Dewaele) <nico@adminrezo.fr> |
|||
2 Albert Cervera i Areny <albert@nan-tic.com> |
|||
2 Alexander Ryzhov <gtihub@ryzhov-al.ru> |
|||
2 Alexis Metaireau <alexis@notmyidea.org> |
|||
2 Andrei Poenaru <andrei.poenaru@gmail.com> |
|||
2 Andrew Hayworth <hayworth@meraki.net> |
|||
2 Arik Fraimovich <arik@arikfr.com> |
|||
2 Bartłomiej Kurzeja <B3QL@users.noreply.github.com> |
|||
2 Brendan Abolivier <contact@brendanabolivier.com> |
|||
2 Brian Morin <bdmorin@gmail.com> |
|||
2 Charles Farence III <charles@charlessite90.com> |
|||
2 Chris Missal <chris.missal@gmail.com> |
|||
2 Costin Moise <necenzurat@gmail.com> |
|||
2 David Leonard <david@appliedtrust.com> |
|||
2 David Wayne Baxter <dbxt@users.noreply.github.com> |
|||
2 Derek Viera <ma.dmviera01@gmail.com> |
|||
2 Deryck <dhenson02@users.noreply.github.com> |
|||
2 Dillon Stadther <dlstadther@gmail.com> |
|||
2 Feleg <fegul@users.noreply.github.com> |
|||
2 Felix Bartels <felix@host-consultants.de> |
|||
2 Gabin Aureche <gabin.aureche@live.fr> |
|||
2 Gabriel Cossette <gabriel.cossette@gmail.com> |
|||
2 Gonçalo Valério <dethos@users.noreply.github.com> |
|||
2 Greg V <greg@unrelenting.technology> |
|||
2 Henry Ruhs <info@redaxmedia.com> |
|||
2 Jake Breindel <j.breindel2@outlook.com> |
|||
2 James Cole <JC5@users.noreply.github.com> |
|||
2 Jan Soendermann <jan.soendermann+git@gmail.com> |
|||
2 Jason Robinson <mail@jasonrobinson.me> |
|||
2 Joseph Dykstra <josephdykstra@gmail.com> |
|||
2 Julien Bisconti <veggiemonk@users.noreply.github.com> |
|||
2 Jérémie Astori <jeremie@astori.fr> |
|||
2 Keith Thibodeaux <kthibodeaux@peachtreebilling.com> |
|||
2 Kevin Lin <developer@kevinlin.info> |
|||
2 Kevin Vandenborne <kevin.vandenborne@gmail.com> |
|||
2 Madhu GB <github@madhugb.com> |
|||
2 Malte Kiefer <malte.kiefer@mailgermania.de> |
|||
2 Marc Laporte <marc@laporte.name> |
|||
2 Marien Fressinaud <dev@marienfressinaud.fr> |
|||
2 Massimo Santini <massimo.santini@gmail.com> |
|||
2 Matthieu Aubry <matt@piwik.org> |
|||
2 Michael Tunnell <MichaelTunnell@users.noreply.github.com> |
|||
2 Mikael Peigney <Mika56@users.noreply.github.com> |
|||
2 Nicolas Carlier <n.carlier@nunux.org> |
|||
2 Patrik Ragnarsson <patrik@starkast.net> |
|||
2 Pavel Lobashov <ShockwaveNN@gmail.com> |
|||
2 Peter Demin <poslano@gmail.com> |
|||
2 Peter Ivanov <peter@microweber.com> |
|||
2 Pierre Ozoux <pierre@ozoux.net> |
|||
2 Poorchop <Poorchop@users.noreply.github.com> |
|||
2 ReadmeCritic <frankensteinbot@gmail.com> |
|||
2 Ricardo Torres <ricardo@rictorres.com.br> |
|||
2 Rodolfo Berrios <rodolfo.berrios@gmail.com> |
|||
2 Roland Geider <roland@geider.net> |
|||
2 Ryan Mulligan <ryan@ryantm.com> |
|||
2 Sam Tuke <mail@samtuke.com> |
|||
2 Sameer Al-Sakran <salsakran@users.noreply.github.com> |
|||
2 Shane Cooke <shanecooke@mac.com> |
|||
2 Simon Vieille <simon@deblan.fr> |
|||
2 Simone Grignola <sito@grignola.ch> |
|||
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 Think <iwhiz@users.noreply.github.com> |
|||
2 Thomas Citharel <tcit@tcit.fr> |
|||
2 Tomer <tomer@campuscruizer.com> |
|||
2 Vadim Rutkovsky <vrutkovs@redhat.com> |
|||
2 Van-Duyet Le <lvduit08@gmail.com> |
|||
2 Will Bennett <william.11bennett@gmail.com> |
|||
2 Yann <forget.yann31@gmail.com> |
|||
2 Zeniic <Zeniic@users.noreply.github.com> |
|||
2 cornerot <cornerot@gmail.com> |
|||
2 cron410 <cron410@gmail.com> |
|||
2 digiou <digitalbckp@gmail.com> |
|||
2 erdihu <erdihu@users.noreply.github.com> |
|||
2 fengshaun <amoradi@fedoraproject.org> |
|||
2 fuerbringer <severin@protonmail.ch> |
|||
2 gseva <gavrilovseva@gmail.com> |
|||
2 hebbet <pascal.herbert@gmail.com> |
|||
2 icterine <account@caravat.e4ward.com> |
|||
2 jimykk <JimyKK@users.noreply.github.com> |
|||
2 markkrj <markkrj@users.noreply.github.com> |
|||
2 rafael-santiago <voidbrainvoid@gmail.com> |
|||
2 thomasfrivold <thomas.frivold@gmail.com> |
|||
2 tillarnold <throwable42@gmail.com> |
|||
2 tomc3 <wordoftheday003@gmail.com> |
|||
2 yuche <i@yuche.me> |
|||
1 florianl <florianl@users.noreply.github.com> |
|||
1 Marcin Karpezo <m.karpezo@nencki.gov.pl> |
|||
1 Marco Dickert <dickert.marco@gmail.com> |
|||
1 Marcus Ramberg <marcus@nordaaker.com> |
|||
1 foorb <foorb@users.noreply.github.com> |
|||
1 Denis <isdn@users.noreply.github.com> |
|||
1 David Yu <david.yu.ftw@gmail.com> |
|||
1 Mark Ide <mark@cranstonide.com> |
|||
1 Mark Railton <mark@markrailton.com> |
|||
1 David Ng <david90@users.noreply.github.com> |
|||
1 Martin Malinda <malindacz@gmail.com> |
|||
1 trebonius0 <trebonius@worldofwargraphs.com> |
|||
1 MatFluor <MatFluor@users.noreply.github.com> |
|||
1 David Baldwynn <whitef0x0@users.noreply.github.com> |
|||
1 Matt Hazinski <matt@matthazinski.com> |
|||
1 Matt Lee <mattl@users.noreply.github.com> |
|||
1 Matteo Piccina <matteo@beiphone.it> |
|||
1 ghaseminya <ghaseminya@gmail.com> |
|||
1 Dan <rocks.in.the.cloud@gmail.com> |
|||
1 Michael Barrow <michael@barrow.me> |
|||
1 Michael Burns <michael@mirwin.net> |
|||
1 ttoups <ich@timotoups.de> |
|||
1 Michael van Tricht <mvantricht@expandonline.nl> |
|||
1 Michael van Tricht <swordbeta@users.noreply.github.com> |
|||
1 Damir Gainetdinov <damir.gaynetdinov@gmail.com> |
|||
1 uchchishta <uchchishta@users.noreply.github.com> |
|||
1 Mike Goodwin <xenithorb@users.noreply.github.com> |
|||
1 Mike Steele <mike@steel.fm> |
|||
1 MinorTom <TheMinorTom@users.noreply.github.com> |
|||
1 Cristian Menghi <cristian@menghi.biz> |
|||
1 Moritz Kröger <write@morkro.de> |
|||
1 Craig Davison <craig@davison.io> |
|||
1 Clément AUBIN <caubin@caubin.fr> |
|||
1 Murdoc Bates <trockenasche@gmail.com> |
|||
1 vincent-clipet <vincent.clipet.7@gmail.com> |
|||
1 NicolasCARPi <nicolas.carpi@curie.fr> |
|||
1 Norman Xu <im@norm.im> |
|||
1 Nÿco <nicolas.verite@gmail.com> |
|||
1 Ober7 <k.latif.misc@gmail.com> |
|||
1 Oliver Kopp <kopp.dev@gmail.com> |
|||
1 Christophe Hamerling <christophe.hamerling@gmail.com> |
|||
1 Paolo Pustorino <stickgrinder@gmail.com> |
|||
1 ilsi <ilsi@users.noreply.github.com> |
|||
1 Pau Kiat Wee <paukiatwee@gmail.com> |
|||
1 Paul <paul@rosanbo.com> |
|||
1 Christoph Wiechert <wio@psitrax.de> |
|||
1 itsnotv <itsnotv@users.noreply.github.com> |
|||
1 Paweł Kapała <bylek77@gmail.com> |
|||
1 Christoph Kappestein <k42b3.x@gmail.com> |
|||
1 Chema <neo22s@gmail.com> |
|||
1 jake <jake@diesel> |
|||
1 wxcafé <wxcafe@wxcafe.net> |
|||
1 Chanchal Kumar Ghosh <chanchal_ghosh1987@yahoo.co.in> |
|||
1 Peter van den Hurk <runical1991@gmail.com> |
|||
1 Carlos Rodriguez <carlos@s8f.org> |
|||
1 Phill <phill@formbet.co.uk> |
|||
1 Phonic Mouse <phonicmouse@users.noreply.github.com> |
|||
1 Pierre Blanes <inattendu@users.noreply.github.com> |
|||
1 Anton Troyanov <anton@troyanov.net> |
|||
1 Calle Wolff <carl@wolff.se> |
|||
1 Caleb Xu <calebcenter@live.com> |
|||
1 Angel Velasquez <angvp@archlinux.org> |
|||
1 Rafael Milewski <Milewski@users.noreply.github.com> |
|||
1 lachlan-00 <lachlan.00@gmail.com> |
|||
1 Remi Rampin <remirampin@gmail.com> |
|||
1 Remy Adriaanse <remy@adriaanse.it> |
|||
1 Remy Honig <remyhonig@users.noreply.github.com> |
|||
1 littleguga <littleguga@users.noreply.github.com> |
|||
1 Riddler <Iamjithin@live.com> |
|||
1 Roberto Rosario <roberto.rosario.gonzalez@gmail.com> |
|||
1 C.J. Jameson <cjcjameson@gmail.com> |
|||
1 lsascha <lsascha@gmail.com> |
|||
1 xuansamdinh <xuansamdinh.n2i@gmail.com> |
|||
1 Ryan DeShone <rfdeshon@gmail.com> |
|||
1 Ryan Halliday <ry167@ry167.com> |
|||
1 memorex258 <phillip.a.brown@live.com> |
|||
1 Sahin Boydas <sahin@movielala.com> |
|||
1 Salvatore Gentile <SalGnt@users.noreply.github.com> |
|||
1 mertinop <martin.santibanez.a@gmail.com> |
|||
1 Andrew Nesbitt <andrewnez@gmail.com> |
|||
1 Scott Humphries <sscotth@users.noreply.github.com> |
|||
1 Sergey Bronnikov <sergeyb@bronevichok.ru> |
|||
1 Andrew Murray <radarhere@gmail.com> |
|||
1 Simon Hanna <simon.hanna@jesus.de> |
|||
1 n2i <xuansamdinh.n2i@gmail.com> |
|||
1 Andre <andre.lehmann@posteo.de> |
|||
1 Spencer McIntyre <zeroSteiner@gmail.com> |
|||
1 Starbeamrainbowlabs <sbrl@starbeamrainbowlabs.com> |
|||
1 Alys <alice.harris@oldgods.net> |
|||
1 Stefan Weil <sw@weilnetz.de> |
|||
1 nodomain <ff@nodomain.cc> |
|||
1 Alfred Bez <alfred.bez@googlemail.com> |
|||
1 Steve Divskinsy <stevesbrain@users.noreply.github.com> |
|||
1 Alexey Strokach <alex.strokach@utoronto.ca> |
|||
1 Sylvain Boily <sylvainboilydroid@gmail.com> |
|||
1 THS-on <THS-on@users.noreply.github.com> |
|||
1 Tanner Collin <git@tannercollin.com> |
|||
1 The Scorpion <tehscorpion@users.noreply.github.com> |
|||
1 pips <pips@e5150.fr> |
|||
1 Alexandr Nesterenko <kuchaspama@gmail.com> |
|||
1 Burung Hantu <privacytoolsIO@users.noreply.github.com> |
|||
1 Thorsten Rinne <thorsten@phpmyfaq.de> |
|||
1 Tim Allingham <tim@timallingham.net> |
|||
1 Brian <bdmorin@users.noreply.github.com> |
|||
1 Tobias Zeising <tobias.zeising@aditu.de> |
|||
1 Alashov Berkeli <yunus.alashow@gmail.com> |
|||
1 Brett <brettex@hotmail.com> |
|||
1 Alex Fornuto <alex@fornuto.com> |
|||
1 Bob Mottram <bob@robotics.uk.to> |
|||
1 sc0repi0 <sc0repi0@gmx.de> |
|||
1 Viktor Geringer <devfakeplus@googlemail.com> |
|||
1 skarphet <skarphet@users.noreply.github.com> |
|||
1 steven jacobs <stjacobs@fastmail.fm> |
|||
1 Ben <ben@rngr.org> |
|||
1 Beard of War <rebelgeek@blainsmith.com> |
|||
1 stevesbrain <stevesbrain@users.noreply.github.com> |
|||
1 axeloz <axel@mabox.eu> |
|||
1 benmaynard11 <allowin-217941-github@vhost244.maynardnetworks.com> |
|||
1 bricej13 <bricej13@gmail.com> |
|||
1 Bas <mega@ioexception.at> |
|||
1 Austin <austi_gillm935@ahapps.anoka.k12.mn.us> |
|||
1 cbdev <cb@cbcdn.com> |
|||
1 Guilherme Oenning <me@goenning.net> |
|||
1 Greg Chetcuti <greg@chetcuti.com> |
|||
1 Girish Ramakrishnan <mail@girish.in> |
|||
1 FortressBuilder <FortressBuilder@users.noreply.github.com> |
|||
1 t1st3 <contact@tiste.org> |
|||
1 Icantcodeatall <francois.lachese@me.com> |
|||
1 Igor Antun <IgorAntun@users.noreply.github.com> |
|||
1 Igor Petrov <garik.piton@gmail.com> |
|||
1 Florian Wilhelm <f.wilhelm@tarent.de> |
|||
1 Ilya Pirozhenko <ilya.pir@gmail.com> |
|||
1 Florian Kaiser <florian.kaiser@fnkr.net> |
|||
1 Fazal Majid <github@sentfrom.com> |
|||
1 Ivan Krutov <vania-pooh@vania-pooh.com> |
|||
1 Izac Lorimer <izaclorimer@users.noreply.github.com> |
|||
1 cpdev <cpdevelops@users.noreply.github.com> |
|||
1 Jakob Gillich <jakob@gillich.me> |
|||
1 zotlabs <mike@macgirvin.com> |
|||
1 James Mills <prologic@shortcircuit.net.au> |
|||
1 Jan <jayphizzle@users.noreply.github.com> |
|||
1 ArthurHoaro <arthur@hoa.ro> |
|||
1 Evelthon Prodromou <epro@prodromou.eu> |
|||
1 Jannik Anker <jannikanker@users.noreply.github.com> |
|||
1 Jarek Lipski <pub@loomchild.net> |
|||
1 Alex Bogdanovski <alex@erudika.com> |
|||
1 Eugen <eugen@zeonfederated.com> |
|||
1 Ethan Madden <crazeh.monkeh@gmail.com> |
|||
1 Jean Menezes da Rocha <jean@menezesdarocha.info> |
|||
1 Jeremiah Marks <jeremiah@jlmarks.org> |
|||
1 Joel Calado <joelcalado@gmail.com> |
|||
1 Eric Moon <eric@ericmoon.net> |
|||
1 Eren Hatırnaz <erenhatirnaz@hotmail.com.tr> |
|||
1 dimqua <dimqua@lavabit.com> |
|||
1 Josh Harmon <me@joshharmon.me> |
|||
1 Joshua Hamilton <joshua.hamilton@fabricut.com> |
|||
1 Emeric POUPON <epoupon@users.noreply.github.com> |
|||
1 José Castro <cogurov@gmail.com> |
|||
1 Eike Kettner <eike.kettner@posteo.de> |
|||
1 Julien <bibich@users.noreply.github.com> |
|||
1 Julien Bisconti <julien.bisconti@gmail.com> |
|||
1 domainzero <domainzero@users.noreply.github.com> |
|||
1 Julien Reichardt <jul.reich43@opmbx.org> |
|||
1 Justin Clift <justin@postgresql.org> |
|||
1 Justin O'Reilly <justin@oreilly.me> |
|||
1 Armando Lüscher <armando@noplanman.ch> |
|||
1 Arda Kılıçdağı <ardakilicdagi@gmail.com> |
|||
1 Ketrel <webmaster@krahs-emag.com> |
|||
1 Edreih Aldana <edreihaldana@yahoo.com> |
|||
1 Kevin Lin <LINKIWI@users.noreply.github.com> |
|||
1 ePirat <epirat07@gmail.com> |
|||
1 timbe16 <timbe16@users.noreply.github.com> |
|||
1 Keyhaku <jones@bious.fr> |
|||
1 Ed Tewiah <etewiah@hotmail.com> |
|||
1 Kieran <kieran.brahney@gmail.com> |
|||
1 Konstantin Sorokin <kvs@sigterm.ru> |
|||
1 Dražen Lučanin <kermit666@gmail.com> |
|||
1 Kyle Farwell <m@kfarwell.org> |
|||
1 Kyle Stetz <kylestetz@gmail.com> |
|||
1 Doğan Çelik <dogancelik@users.noreply.github.com> |
|||
1 Dmitriy Volkov <wldhx+vcs+github_com@wldhx.me> |
|||
1 Liran Tal <liran.tal@gmail.com> |
|||
1 Dirk Krause <dirkk0@googlemail.com> |
|||
1 evitalis <evitalis@users.noreply.github.com> |
|||
1 Руслан Корнев <oganer@gmail.com> |
|||
1 Diego Molina <diemol@users.noreply.github.com> |
@ -0,0 +1,36 @@ |
|||
#Check for changes to README.md |
|||
has_readme_changes = git.modified_files.include?("README.md") |
|||
|
|||
# Ensure there is a summary for a pull request |
|||
fail 'Please provide a summary in the Pull Request description' if github.pr_body.length < 5 |
|||
|
|||
# Warn if PR guideline boxes are not checked. |
|||
warn 'Please check PR guidelines and check the boxes.' if github.pr_body.include? '- [ ]' |
|||
|
|||
# Warn if pull request is not updated |
|||
warn 'Please update the Pull Request title to contain the script name' if github.pr_title.include? 'Update README.md' |
|||
|
|||
# Warn when there are merge commits in the diff |
|||
warn 'Please rebase to get rid of the merge commits in this Pull Request' if git.commits.any? { |c| c.message =~ /^Merge branch 'master'/ } |
|||
|
|||
# Check links |
|||
if has_readme_changes |
|||
require 'json' |
|||
results = File.read 'ab-results-temp.md-markdown-table.json' |
|||
j = JSON.parse results |
|||
if j['error']==true |
|||
warn j['title'] |
|||
markdown j['message'] |
|||
end |
|||
end |
|||
|
|||
# Check syntax |
|||
if has_readme_changes |
|||
require 'json' |
|||
syntaxresults = File.read 'syntaxcheck.json' |
|||
sj = JSON.parse syntaxresults |
|||
if sj['error']==true |
|||
fail sj['title'] |
|||
markdown sj['message'] |
|||
end |
|||
end |
@ -0,0 +1,62 @@ |
|||
#!/usr/bin/make -f
|
|||
SHELL = /bin/bash |
|||
all: checks |
|||
|
|||
checks: nolicenselanguage nofullstop longdescriptions syntaxerrors |
|||
|
|||
noexternallink: |
|||
@echo -e "\nLines with no source/demo/other link:" |
|||
@sed -n -e '/BEGIN SOFTWARE LIST/,/END SOFTWARE LIST/ p' README.md | egrep '^ *\* ' | egrep --color=always '[a-z\.] `' |
|||
|
|||
nolicenselanguage: |
|||
@echo -e "\nLines with only 1 or no language/license entry:" |
|||
@! sed -n -e '/BEGIN SOFTWARE LIST/,/END SOFTWARE LIST/ p' README.md | egrep '^ *\* ' | egrep -v '` `' |
|||
|
|||
nofullstop: |
|||
@echo -e "\nLines without a full stop after description:" |
|||
@! sed -n -e '/BEGIN SOFTWARE LIST/,/END SOFTWARE LIST/ p' README.md | egrep '[a-z] \(\[' |
|||
@! sed -n -e '/BEGIN SOFTWARE LIST/,/END SOFTWARE LIST/ p' README.md | egrep '[a-z] `' |
|||
|
|||
longdescriptions: |
|||
@echo -e "\nDescriptions exceeding 250 chars:" |
|||
@! sed -n -e '/BEGIN SOFTWARE LIST/,/END SOFTWARE LIST/ p' README.md | egrep --only-matching '\) - [Aa-Zz|.|\(|\)|/| |,|-]*\s\(\[' README.md | grep '.\{257\}' |
|||
|
|||
listlicenses: |
|||
@echo -e "\nList of licenses:" |
|||
@sed -n -e '/BEGIN SOFTWARE LIST/,/END SOFTWARE LIST/ p' README.md | egrep --only-matching '([Aa0-Zz9]|\s|\.|-)*` `' README.md | sort --unique |
|||
|
|||
syntaxerrors: |
|||
@echo -e "\n Syntax errors:" |
|||
@! sed -n -e '/BEGIN SOFTWARE LIST/,/END SOFTWARE LIST/ p' README.md | egrep '\)\(|``|\)`' |
|||
|
|||
contrib: |
|||
@mv .github/.mailmap . && printf "Commits | Author \n:---: | ---\n" > AUTHORS.md && git shortlog -sne >> AUTHORS.md && sed -i 's/\t/ | /g' AUTHORS.md && mv .mailmap .github/.mailmap |
|||
|
|||
add: |
|||
@#add a new entry |
|||
@printf 'Software name: ' ;\
|
|||
read Name; if [ -z "$$Name" ]; then printf 'Missing software name!\n'; exit 1 ; fi ;\
|
|||
printf 'Homepage URL: ' ;\
|
|||
read Url; if [ -z "$$Url" ]; then printf 'Missing main project URL!\n'; exit 1 ; fi ;\
|
|||
printf 'Description (max 250 char): ' ;\
|
|||
read Description; if [ -z "$$Description" ]; then printf 'Missing description!\n'; exit 1 ; fi ;\
|
|||
printf 'License: ' ;\
|
|||
read License; if [ -z "$$License" ]; then printf 'Missing license!\n'; exit 1 ; fi ;\
|
|||
printf 'Main server-side language/platform/requirement: ' ;\
|
|||
read Language; if [ -z "$$Language" ]; then printf 'Missing language!\n'; exit 1 ; fi ;\
|
|||
printf 'Demo URL (if any): ' ;\
|
|||
read Demo; if [ -z "$$Demo" ]; then CDemo="" ; else CDemo="[Demo]($$Demo)" ; fi ;\
|
|||
printf 'Source code URL (if different from Homepage): ' ;\
|
|||
read Source; if [ -z "$$Source" ]; then CSource="" ; else CSource="[Source Code]($$Source)" ; fi ;\
|
|||
if [[ "$$CSource" == "" && "$$Demo" == "" ]]; \
|
|||
then Moreinfo="";\ printf "debug" ;\
|
|||
else Moreinfo=$$(echo "($$CDemo$$CSource)" | sed 's|)\[|), [|g') ;\
|
|||
fi ;\
|
|||
echo -e "Copy this entry to your clipboard, paste it in the appropriate category:\n\n" ;\
|
|||
echo " * [$$Name]($$Url) - $${Description}. $$Moreinfo \`$$License\` \`$$Language\`" |
|||
|
|||
|
|||
#TODO ask for category and insert item accordingly
|
|||
#TODO check for unsorted entries
|
|||
#TODO automatically sort entries/sections
|
|||
#TODO autoupdate contributors list
|
1528
README.md
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,115 @@ |
|||
# Awesome Selfhosted - Proprietary 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 vulnerabilties, backdoors, user lock-in, sending personal data to a third party. |
|||
|
|||
|
|||
## Analytics |
|||
|
|||
* [Mint](http://haveamint.com/) `⊘ Proprietary` - Extensible self-hosted web analytics, license costs $30 per site. ([Demo](http://mimeoverse.com/mint/)) `PHP` |
|||
|
|||
|
|||
## Content Management Systems (CMS) |
|||
|
|||
* [CraftCMS](https://craftcms.com/) `⊘ Proprietary` - Craft is a content-first CMS that aims to make life enjoyable for developers and content managers alike. ([Demo](https://demo.craftcms.com/)) `PHP` |
|||
* [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` |
|||
|
|||
|
|||
## Communication Systems |
|||
|
|||
* [HipChat](https://www.atlassian.com/software/hipchat) `⊘ Proprietary` - A team chat solution with 1:1 chat audio and video, third party integration and more `PHP/Python` |
|||
|
|||
|
|||
## Decentralized Network |
|||
|
|||
* [Synereo](https://www.synereo.com/) - Decentralized network system based on blockchain that allows fast speed and great trust level. ([Source Code](https://github.com/synereo/synereo)) `Scala` |
|||
|
|||
## Document Archiving |
|||
* [Ambar](https://ambar.cloud) - Self-Hosted Smart Document Archive (OCR, Store & Search) ([Source Code](https://github.com/RD17/ambar)) `Fair Source 1 v0.9` `Nodejs/Python` |
|||
|
|||
## Federated Identity/Authentication |
|||
|
|||
* [Auth0](https://auth0.com/docs/appliance): `⊘ Proprietary`. Identity made simple for developers. `NodeJS` |
|||
|
|||
|
|||
## Feed Readers |
|||
|
|||
* [Fever](http://feedafever.com/) `⊘ Proprietary` - Self-hosted feed aggregator that can sort items by popularity `PHP` |
|||
|
|||
|
|||
## File Sharing and Synchronization |
|||
|
|||
* [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` |
|||
* [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` |
|||
* [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` |
|||
|
|||
## IPBX |
|||
|
|||
* [Elastix](http://www.elastix.org) `⊘ Proprietary` - Unified communications server software based on 3CX. ([Source Code](https://svn.code.sf.net/p/elastix/code/trunk/)) `GPLv2` `PHP` |
|||
|
|||
|
|||
## Media Streaming |
|||
|
|||
* [Plex](https://plex.tv/) `⊘ Proprietary` - Plex is a centralized home media playback system with a powerful central server. |
|||
* [Subsonic](http://subsonic.org/) - Web-based media streamer and jukebox. ([Demo](http://demo.subsonic.org/login.view?user=guest4&password=guest)) |
|||
|
|||
|
|||
## Money, Budgeting and Management |
|||
|
|||
* [Anchor](http://theanchorapp.com/) - Anchor is an invoicing system that integrates with Stripe and Paypal. Includes features such as: reporting, dashboard and no client limit. ([Demo](http://theanchorapp.com/demo/admin-login)) `PHP` |
|||
* [FusionInvoice](https://www.fusioninvoice.com) `⊘ Proprietary` - FusionInvoice is an invoicing system for freelancers and small businesses. `PHP` |
|||
* [Manager](http://manager.io/server) `⊘ Proprietary` - Online accounting software for small businesses. `Mono` |
|||
* [Pancake](http://pancakeapp.com/) `⊘ Proprietary` - Online invoicing, project management, time tracking and proposal software. `PHP` |
|||
|
|||
|
|||
## Photo and Video Galleries |
|||
|
|||
* [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` |
|||
* [Single File PHP Gallery](http://sye.dk/sfpg/) `⊘ Proprietary` - is a web gallery in one single PHP file. `PHP` |
|||
|
|||
|
|||
## 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/demo/#dashboard)) `PHP` |
|||
* [Solo](http://www.getsoloapp.com/) - Solo is a free project management app created for freelancers. Create contacts, manage tasks, upload files, track project progress, and keep notes. ([Demo](http://www.getsoloapp.com/demo/)) `PHP` |
|||
|
|||
|
|||
## Proxy |
|||
* [Glype](https://www.glype.com/) `⊘ Proprietary` - Web-based proxy script written in PHP which focuses on features, functionality, and ease of use. Glype helps users to defeat Internet censorship and be anonymous while web browsing. `[Custom license](https://www.glype.com/license.php)` `PHP` |
|||
|
|||
|
|||
## 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. |
|||
* [hMailServer](https://www.hmailserver.com) `⊘ Proprietary` - Open source e-mail server for Microsoft Windows. ([Source Code](https://github.com/hmailserver/hmailserver)) `C++` |
|||
* [Poste.io](https://poste.io) `⊘ Proprietary` - Full featured solution for your Email server. Native implementation of last anti-SPAM metods, webmail and easy administration included. Free tier available. ([Demo](https://poste.io/admin/login#admin@poste.io;admin)) |
|||
|
|||
|
|||
## 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` |
|||
* [Bamboo](https://www.atlassian.com/software/bamboo) `⊘ Proprietary` - A continuous integration server `Java` |
|||
* [Cloud9](https://c9.io/) `⊘ Proprietary` - Your development environment, in the cloud ([Source code](https://github.com/c9/core)) `Nodejs` |
|||
* [Confluence](https://www.atlassian.com/software/confluence) `⊘ Proprietary` - A team collaboration software `Java` |
|||
* [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` |
|||
* [RhodeCode](https://rhodecode.com) `⊘ Proprietary` - On-premise Source Code Management for Mercurial, Git & Subversion. `Python` |
|||
* [Stash](https://www.atlassian.com/software/stash) `⊘ Proprietary` - An enterprise-level Git solution similar to GitLab `Java` |
|||
|
|||
|
|||
## Ticketing |
|||
* [SupportPal](https://www.supportpal.com/) `⊘ Proprietary` - Powerful help desk software - easy, fast and intuitive. ([Demo](http://demo.supportpal.com/)) `PHP` |
|||
|
|||
|
|||
## Remote Support |
|||
|
|||
* [ScreenConnect](https://www.screenconnect.com/) `⊘ Proprietary` - ScreenConnect offers lightning-fast remote support and remote access to connect instantly and solve problems faster. |
@ -0,0 +1,85 @@ |
|||
// Accepts input of any filename, ie. node test.js README.md
|
|||
|
|||
const fs = require('fs'); |
|||
|
|||
let log = '{\n'; |
|||
let issuelog = ' "message": "#### Syntax Issues\\n\\n Name | Entry\\n----|----------------------\\n'; |
|||
|
|||
const file = fs.readFileSync(process.argv[2], 'utf8'); // Reads argv into var file
|
|||
|
|||
function entryFilter(md) { // Function to find lines with entries
|
|||
const linepatt = /^ {0,4}\* \[.*`/; |
|||
return linepatt.test(md); |
|||
} |
|||
|
|||
function split(text) { // Function to split lines into array
|
|||
return text.split(/\r?\n/); |
|||
} |
|||
|
|||
function findPattern(text) { // Test entries against 8 patterns. If matches pattern returns true
|
|||
const nodnospatt = /^ {0,4}\* \[.*?\]\(.*?\) - .{0,249}?\. `.*?` `.*?`/; // Regex for entries with no demo and no source code
|
|||
const slpatt = /^ {0,4}\* \[.*?\]\(.*?\) - .{0,249}?\. \(\[Demo\b\]\(.*?\), \[Source Code\b\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with demo and source code
|
|||
const nodpatt = / {0,4}\* \[.*?\]\(.*?\) - .{0,249}?\. \(\[Source Code\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with no demo
|
|||
const nospatt = / {0,4}\* \[.*?\]\(.*?\) - .{0,249}?\. \(\[Demo\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with no source code
|
|||
const pnodnospatt = / {0,4}\* \[.*?\]\(.*?\) `⚠` - .{0,249}?\. `.*?` `.*?`/; // Regex for entries with proprietary with no demo and no source code
|
|||
const pslpatt = / {0,4}\* \[.*?\]\(.*?\) `⚠` - .{0,249}?\. \(\[Demo\b\]\(.*?\), \[Source Code\b\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with proprietary with demo and source code
|
|||
const pnodpatt = / {0,4}\* \[.*?\]\(.*?\) `⚠` - .{0,249}?\. \(\[Source Code\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with proprietary with no demo
|
|||
const pnospatt = / {0,4}\* \[.*?\]\(.*?\) `⚠` - .{0,249}?\. \(\[Demo\]\(.*?\)\) `.*?` `.*?`/; // Regex for entries with proprietary with no source code
|
|||
if (nodnospatt.test(text) === true) { |
|||
return true; |
|||
} else if (slpatt.test(text) === true) { |
|||
return true; |
|||
} else if (nodpatt.test(text) === true) { |
|||
return true; |
|||
} else if (nospatt.test(text) === true) { |
|||
return true; |
|||
} else if (pnodnospatt.test(text) === true) { |
|||
return true; |
|||
} else if (pslpatt.test(text) === true) { |
|||
return true; |
|||
} else if (pnodpatt.test(text) === true) { |
|||
return true; |
|||
} else if (pnospatt.test(text) === true) { |
|||
return true; |
|||
} |
|||
return false; |
|||
} |
|||
|
|||
function entryErrorCheck(md) { |
|||
const namepatt = /\* \[(.*?)\]/; // regex pattern to find name of entryArray
|
|||
const entries = split(md); // Inserts each line into the entries array
|
|||
let totalFail = 0; |
|||
let totalPass = 0; |
|||
let total = 0; |
|||
const entryArray = []; |
|||
for (let i = 0, len = entries.length; i < len; i += 1) { // Loop to create array of objects
|
|||
entryArray[i] = new Object; |
|||
entryArray[i].raw = entries[i]; |
|||
if (entryFilter(entries[i]) === true) { // filter out lines that don't with * [)
|
|||
total += 1; |
|||
entryArray[i].name = namepatt.exec(entries[i])[1]; // Parses name of entry
|
|||
entryArray[i].pass = findPattern(entries[i]); // Tests against known patterns
|
|||
if (entryArray[i].pass === true) { // If entry passes increment totalPass counter
|
|||
totalPass += 1; |
|||
} else { |
|||
console.log(`${entryArray[i].name} Failed.`); // If entry fails increment totalFail counter and append error to issuelog
|
|||
// entryArray[i].error = findError(entries[i]) //WIP
|
|||
totalFail += 1; |
|||
issuelog += `${entryArray[i].name} | ${entries[i]} \\n`; |
|||
} |
|||
} |
|||
} |
|||
if (totalFail > 0) { // Logs # passed & failed to console, and failures to syntaxcheck.json
|
|||
console.log(`${totalFail} Failed, ${totalPass} Passed, of ${total}`); |
|||
log += ` "error": true,\n "title": "Found ${totalFail} entries with syntax error(s).",\n`; |
|||
fs.writeFileSync('syntaxcheck.json', `${log} ${issuelog} "\n}`); |
|||
process.exit(1); |
|||
} else { // Logs # of entries passed to console and error: false to syntaxcheck.json
|
|||
console.log(`${totalFail} Failed, ${totalPass} Passed, of ${total} \n`); |
|||
log += ' "error": false\n}'; |
|||
fs.writeFileSync('syntaxcheck.json', log); |
|||
process.exit(0); |
|||
} |
|||
} |
|||
|
|||
entryErrorCheck(file); |
Write
Preview
Loading…
Cancel
Save
Reference in new issue