From 12bc8a5131c73d2691ea6352a16a184aac0df8cd Mon Sep 17 00:00:00 2001 From: Mikaela Caron Date: Thu, 24 Oct 2024 00:24:42 -0400 Subject: [PATCH 01/28] Remove openfoodfacts this repo has been archived --- data.json | 9 --------- 1 file changed, 9 deletions(-) diff --git a/data.json b/data.json index 679f11b..6710eb6 100644 --- a/data.json +++ b/data.json @@ -1876,15 +1876,6 @@ ], "description": "A dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk." }, - { - "name": "OpenFoodFacts-iOS", - "link": "https://github.com/openfoodfacts/openfoodfacts-ios", - "label": "help-wanted", - "technologies": [ - "Swift" - ], - "description": "Collaborative, free and open database of food products from around the world. Scan barcode to get info or add a product" - }, { "name": "Basic-Car-Maintenance", "link": "https://github.com/mikaelacaron/Basic-Car-Maintenance", From 701c8c6a4eaa9bd3c9eb45f1b3eb66ca4fceb05e Mon Sep 17 00:00:00 2001 From: Sammy Hori Date: Tue, 29 Oct 2024 21:20:43 +0000 Subject: [PATCH 02/28] Added new OpenFoodFacts repository --- data.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/data.json b/data.json index 6710eb6..0a6c430 100644 --- a/data.json +++ b/data.json @@ -1876,6 +1876,15 @@ ], "description": "A dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk." }, + { + "name": "OpenFoodFacts", + "link": "https://github.com/openfoodfacts/smooth-app", + "label": "good first issue", + "technologies": [ + "Dart" + ], + "description": "Collaborative, free and open database of food products from around the world. Scan barcode to get info or add a product" + }, { "name": "Basic-Car-Maintenance", "link": "https://github.com/mikaelacaron/Basic-Car-Maintenance", From 12248f3f054804dd0283dede7ea4f5bcc9e28092 Mon Sep 17 00:00:00 2001 From: Shmavon Gazanchyan Date: Tue, 29 Oct 2024 21:22:09 +0000 Subject: [PATCH 03/28] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5809c01..8381780 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,7 @@ If you are not a programmer but would like to contribute, check out the [Awesome - [dart.dev](https://github.com/dart-lang/site-www) _(label: beginner)_
A website covering Dart language and common libraries, for developers of Dart libraries, web apps, server-side code, and mobile (Flutter) apps. - [flutter](https://github.com/flutter/flutter) _(label: good first issue)_
Flutter is Google's UI toolkit for building beautiful, natively compiled applications for mobile, web, desktop, and embedded devices from a single codebase. +- [OpenFoodFacts](https://github.com/openfoodfacts/smooth-app) _(label: good first issue)_
Collaborative, free and open database of food products from around the world. Scan barcode to get info or add a product ## Elixir @@ -352,7 +353,6 @@ If you are not a programmer but would like to contribute, check out the [Awesome ## Swift - [Basic-Car-Maintenance](https://github.com/mikaelacaron/Basic-Car-Maintenance) _(label: good first issue)_
A basic app to track your car's maintenance events, like fixes, oil changes, etc. -- [OpenFoodFacts-iOS](https://github.com/openfoodfacts/openfoodfacts-ios) _(label: help-wanted)_
Collaborative, free and open database of food products from around the world. Scan barcode to get info or add a product ## TypeScript From 823af0667e77fa1dd38f24f7e7496c34f5db1e56 Mon Sep 17 00:00:00 2001 From: Sammy Hori Date: Tue, 29 Oct 2024 23:59:01 +0000 Subject: [PATCH 04/28] Remove React Help Create for inactivity Over a year of inactivity in this repo --- data.json | 9 --------- 1 file changed, 9 deletions(-) diff --git a/data.json b/data.json index 56a60bb..9f88468 100644 --- a/data.json +++ b/data.json @@ -1958,15 +1958,6 @@ ], "description": "Amplication is an open-source development tool. It helps you develop quality Node.js applications without spending time on repetitive coding tasks." }, - { - "name": "React Help Create", - "link": "https://github.com/Omar-Belghaouti/react-help-create", - "label": "first-timers-only", - "technologies": [ - "JavaScript" - ], - "description": "This command line helps you create components, pages and even redux implementation for your react project." - }, { "name": "pythonping", "link": "https://github.com/alessandromaggio/pythonping", From d2ed6661520dadc389c8181b437623f4db961035 Mon Sep 17 00:00:00 2001 From: Shmavon Gazanchyan Date: Wed, 30 Oct 2024 00:00:14 +0000 Subject: [PATCH 05/28] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 8381780..a4b7ac8 100644 --- a/README.md +++ b/README.md @@ -189,7 +189,6 @@ If you are not a programmer but would like to contribute, check out the [Awesome - [Predator](https://github.com/Zooz/predator) _(label: good first issue)_
A powerful open-source platform for load testing APIs. - [ramda-adjunct](https://github.com/char0n/ramda-adjunct) _(label: help-wanted)_
Ramda Adjunct is the most popular and most comprehensive set of functional utilities for use with Ramda, providing a variety of useful, well tested functions with excellent documentation. - [React](https://github.com/facebook/react) _(label: good first issue)_
A declarative, efficient, and flexible JavaScript library for building user interfaces. -- [React Help Create](https://github.com/Omar-Belghaouti/react-help-create) _(label: first-timers-only)_
This command line helps you create components, pages and even redux implementation for your react project. - [React Native](https://github.com/facebook/react-native) _(label: Good-first-issue)_
A framework for building native apps with React. - [React server](https://github.com/redfin/react-server) _(label: good-first-contribution)_
React framework with server render for blazing fast page load and seamless transitions between pages in the browser. - [React-content-loader](https://github.com/danilowoz/create-content-loader) _(label: good first issue)_
Tool to create your own react-content-loader easily. From d4e6fb5ff6a84e6fa86ec222ae584c061a8bed46 Mon Sep 17 00:00:00 2001 From: Sammy Hori Date: Wed, 30 Oct 2024 00:10:30 +0000 Subject: [PATCH 06/28] Added OpenCalc to data.json --- data.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/data.json b/data.json index 9f88468..3dc520b 100644 --- a/data.json +++ b/data.json @@ -972,6 +972,15 @@ ], "description": "A powerful open-source platform for load testing APIs." }, + { + "name": "OpenCalc", + "link": "https://github.com/Darkempire78/OpenCalc", + "label": "good first issue", + "technologies": [ + "Kotlin" + ], + "description": "A simple and beautiful calculator for Android." + }, { "name": "Time to Leave", "link": "https://github.com/thamara/time-to-leave", From 101b08d2c9a4e39c2550eda9508be5b6d95661fa Mon Sep 17 00:00:00 2001 From: Shmavon Gazanchyan Date: Wed, 30 Oct 2024 00:11:43 +0000 Subject: [PATCH 07/28] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a4b7ac8..22c7e04 100644 --- a/README.md +++ b/README.md @@ -227,6 +227,7 @@ If you are not a programmer but would like to contribute, check out the [Awesome - [Atrium](https://github.com/robstoll/atrium) _(label: good first issue)_
Multiplatform assertion library for Kotlin - [Hexagon](https://github.com/hexagonkt/hexagon) _(label: help-wanted)_
A microservices toolkit written in Kotlin - [Non-Blocking SirixDB HTTP(S)-Server](https://github.com/sirixdb/sirix) _(label: good first issue)_
A non-blocking HTTP(S)-Server for SirixDB, a temporal, evolutionary NoSQL document store for XML and JSON. +- [OpenCalc](https://github.com/Darkempire78/OpenCalc) _(label: good first issue)_
A simple and beautiful calculator for Android. ## LaTeX From 986e8444e550343f043beaf7ce80f60ec20fef5d Mon Sep 17 00:00:00 2001 From: Sammy Hori Date: Thu, 31 Oct 2024 19:10:06 +0000 Subject: [PATCH 08/28] Remove create aio app This repository has been inactive for over a year --- data.json | 9 --------- 1 file changed, 9 deletions(-) diff --git a/data.json b/data.json index 3dc520b..dd33a0a 100644 --- a/data.json +++ b/data.json @@ -1446,15 +1446,6 @@ ], "description": "A simple IT automation platform" }, - { - "name": "Create aio app", - "link": "https://github.com/aio-libs/create-aio-app", - "label": "good first issue", - "technologies": [ - "Python" - ], - "description": "A command line utility that creates the aiohttp template with the best practices." - }, { "name": "opsdroid", "link": "https://github.com/opsdroid/opsdroid", From bad67b06f5ddc903566082c67d7f2d5b43071d76 Mon Sep 17 00:00:00 2001 From: Shmavon Gazanchyan Date: Thu, 31 Oct 2024 19:10:52 +0000 Subject: [PATCH 09/28] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 22c7e04..ef7ae59 100644 --- a/README.md +++ b/README.md @@ -273,7 +273,6 @@ If you are not a programmer but would like to contribute, check out the [Awesome - [coala](https://github.com/coala/coala) _(label: n/a)_
A unified command-line interface for linting and fixing all your code, regardless of the programming languages you use. - [Colossal-AI](https://github.com/hpcaitech/ColossalAI) _(label: good first issue)_
An open-source deep learning system for large-scale model training and inference with high efficiency and low cost. - [cookiecutter](https://github.com/cookiecutter/cookiecutter) _(label: good first issue)_
A command-line utility that creates projects from cookiecutters (project templates). E.g. Python package projects, jQuery plugin projects. -- [Create aio app](https://github.com/aio-libs/create-aio-app) _(label: good first issue)_
A command line utility that creates the aiohttp template with the best practices. - [datascience](https://github.com/data-8/datascience) _(label: good first issue)_
A Jupyter notebook Python library for introductory data science. - [django cookiecutter](https://github.com/pydanny/cookiecutter-django) _(label: hacktoberfest)_
An implementation of Python for backend web development. - [Embedchain](https://github.com/embedchain/embedchain/) _(label: good first issue)_
Embedchain is a framework to easily create LLM powered bots over any dataset. From 6b9bb88a5c48a8d082afedb9d9c3794b0d0fe6c8 Mon Sep 17 00:00:00 2001 From: Alexandre ZANNI <16578570+noraj@users.noreply.github.com> Date: Thu, 31 Oct 2024 22:32:18 +0100 Subject: [PATCH 10/28] add Rawsec Cybersecurity Inventory related to #1127 --- data.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/data.json b/data.json index dd33a0a..cb3a7b7 100644 --- a/data.json +++ b/data.json @@ -2199,6 +2199,17 @@ "JavaScript" ], "description": "a react-based framework that provides accessibility, modularity, responsiveness, and theming in a tidy package" - } + }, + { + "name": "Rawsec Cybersecurity Inventory", + "link": "https://gitlab.com/rawsec/rawsec-cybersecurity-list", + "label": "difficulty::easy", + "technologies": [ + "JavaScript", + "JSON", + "Pug" + ], + "description": "An inventory of tools and resources that aims to help people to find everything related to CyberSecurity." + }, ] } From 7d337bad51ce00033bea0f3858caca712e81e75e Mon Sep 17 00:00:00 2001 From: Alexandre ZANNI <16578570+noraj@users.noreply.github.com> Date: Mon, 4 Nov 2024 00:07:56 +0100 Subject: [PATCH 11/28] fix JSON syntax Co-authored-by: Sammy Hori --- data.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data.json b/data.json index cb3a7b7..3e80845 100644 --- a/data.json +++ b/data.json @@ -2210,6 +2210,6 @@ "Pug" ], "description": "An inventory of tools and resources that aims to help people to find everything related to CyberSecurity." - }, + } ] } From b8ac448aa7faafa469988f7bed5799bf8866a03e Mon Sep 17 00:00:00 2001 From: Shmavon Gazanchyan Date: Mon, 4 Nov 2024 19:36:43 +0000 Subject: [PATCH 12/28] Update README.md --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index ef7ae59..7da94a1 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ If you are not a programmer but would like to contribute, check out the [Awesome - [Haskell](#haskell) - [Java](#java) - [JavaScript](#javascript) +- [JSON](#json) - [Julia](#julia) - [Kotlin](#kotlin) - [LaTeX](#latex) @@ -29,6 +30,7 @@ If you are not a programmer but would like to contribute, check out the [Awesome - [MLOps](#mlops) - [Perl](#perl) - [PHP](#php) +- [Pug](#pug) - [Python](#python) - [Ruby](#ruby) - [Rust](#rust) @@ -188,6 +190,7 @@ If you are not a programmer but would like to contribute, check out the [Awesome - [PouchDB](https://github.com/pouchdb/pouchdb) _(label: help-wanted)_
PouchDB is a pocket-sized database. - [Predator](https://github.com/Zooz/predator) _(label: good first issue)_
A powerful open-source platform for load testing APIs. - [ramda-adjunct](https://github.com/char0n/ramda-adjunct) _(label: help-wanted)_
Ramda Adjunct is the most popular and most comprehensive set of functional utilities for use with Ramda, providing a variety of useful, well tested functions with excellent documentation. +- [Rawsec Cybersecurity Inventory](https://gitlab.com/rawsec/rawsec-cybersecurity-list) _(label: difficulty::easy)_
An inventory of tools and resources that aims to help people to find everything related to CyberSecurity. - [React](https://github.com/facebook/react) _(label: good first issue)_
A declarative, efficient, and flexible JavaScript library for building user interfaces. - [React Native](https://github.com/facebook/react-native) _(label: Good-first-issue)_
A framework for building native apps with React. - [React server](https://github.com/redfin/react-server) _(label: good-first-contribution)_
React framework with server render for blazing fast page load and seamless transitions between pages in the browser. @@ -216,6 +219,10 @@ If you are not a programmer but would like to contribute, check out the [Awesome - [webdriver.io](https://github.com/webdriverio/webdriverio) _(label: first-timers-only)_
Next-gen browser and mobile automation test framework for Node.js - [Yarn](https://github.com/yarnpkg/yarn) _(label: good first issue)_
Fast, reliable, and secure dependency management. +## JSON + +- [Rawsec Cybersecurity Inventory](https://gitlab.com/rawsec/rawsec-cybersecurity-list) _(label: difficulty::easy)_
An inventory of tools and resources that aims to help people to find everything related to CyberSecurity. + ## Julia - [Julia](https://github.com/JuliaLang/julia) _(label: good first issue)_
Julia Projects for Beginners — Easy Ideas to Get Started Coding in Julia @@ -262,6 +269,10 @@ If you are not a programmer but would like to contribute, check out the [Awesome - [PrestaShop](https://github.com/PrestaShop/PrestaShop) _(label: good first issue)_
The open source ecommerce solution to start your online business and start selling online. - [Symfony](https://github.com/symfony/symfony) _(label: good first issue)_
Symfony is a PHP framework for web applications and a set of reusable PHP components. +## Pug + +- [Rawsec Cybersecurity Inventory](https://gitlab.com/rawsec/rawsec-cybersecurity-list) _(label: difficulty::easy)_
An inventory of tools and resources that aims to help people to find everything related to CyberSecurity. + ## Python - [activist](https://github.com/activist-org/activist) _(label: good first issue)_
activist.org is a network for political action that allows people to coordinate and collaborate on the issues that matter most to them. From f15c78f164fd8144d78349511321e4df25a1bc8d Mon Sep 17 00:00:00 2001 From: Anthony Max Date: Sun, 10 Nov 2024 02:40:34 +0300 Subject: [PATCH 13/28] Update HMPL data The repository has been moved, information has been updated. --- data.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data.json b/data.json index 3e80845..bd1435e 100644 --- a/data.json +++ b/data.json @@ -605,12 +605,12 @@ }, { "name": "HMPL", - "link": "https://github.com/hmpl-lang/hmpl", + "link": "https://github.com/hmpl-language/hmpl", "label": "good first issue", "technologies": [ "JavaScript" ], - "description": "Template language for displaying UI from server to client." + "description": "Server-oriented customizable templating for JavaScript." }, { "name": "Moment.js", From 39df36930c004486946294ad082f14193bd21dd7 Mon Sep 17 00:00:00 2001 From: Shmavon Gazanchyan Date: Sat, 16 Nov 2024 16:07:40 +0000 Subject: [PATCH 14/28] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7da94a1..77ff3d7 100644 --- a/README.md +++ b/README.md @@ -163,7 +163,7 @@ If you are not a programmer but would like to contribute, check out the [Awesome - [Ghost](https://github.com/TryGhost/Ghost) _(label: good first issue)_
Just a blogging platform - [grommet](https://github.com/grommet/grommet) _(label: good first issue)_
a react-based framework that provides accessibility, modularity, responsiveness, and theming in a tidy package - [Habitica](https://github.com/HabitRPG/habitica) _(label: good first issue)_
Habitica is a gamified task manager, webapp and android/ios app, really wonderful atmosphere. Guidance for contributing here (mongo, express, vue, node stack for webapp) -- [HMPL](https://github.com/hmpl-lang/hmpl) _(label: good first issue)_
Template language for displaying UI from server to client. +- [HMPL](https://github.com/hmpl-language/hmpl) _(label: good first issue)_
Server-oriented customizable templating for JavaScript. - [Hoppscotch](https://github.com/hoppscotch/hoppscotch) _(label: good first issue)_
A free, fast and beautiful API request builder. - [HueHive](https://github.com/croma-app/croma) _(label: good first issue)_
A open source react native app iOS and android for color palette management - [Hyper](https://github.com/zeit/hyper) _(label: good first issue)_
JS/HTML/CSS Terminal From abf493cf0f00397b4e80caffeae0c6dcd3b10904 Mon Sep 17 00:00:00 2001 From: Sammy Hori Date: Sat, 16 Nov 2024 18:30:40 +0000 Subject: [PATCH 15/28] Added harmony competition to description in data.json --- data.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data.json b/data.json index bd1435e..4ae0f5a 100644 --- a/data.json +++ b/data.json @@ -2144,7 +2144,7 @@ "technologies": [ "Python" ], - "description": "Natural language processing tool for psychologists to analyse and compare datasets with AI and LLMs." + "description": "Natural language processing tool for psychologists to analyse and compare datasets with AI and LLMs.
Up for a challenge? Try [this LLM training competition](https://harmonydata.ac.uk/doxa/) for a chance to win up to £500!" }, { "name": "SuperDuperDB", From ecb73e06d79580b7c7086b2bfd0d8b5f9ba594fd Mon Sep 17 00:00:00 2001 From: Shmavon Gazanchyan Date: Sat, 16 Nov 2024 18:32:45 +0000 Subject: [PATCH 16/28] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 77ff3d7..eb8ba67 100644 --- a/README.md +++ b/README.md @@ -290,7 +290,7 @@ If you are not a programmer but would like to contribute, check out the [Awesome - [Fabric](https://github.com/fabric/fabric) _(label: Low-hanging-fruit)_
Pythonic remote execution and deployment. - [H2O Wave](https://github.com/h2oai/wave) _(label: good first issue)_
Realtime Web Apps and Dashboards framework for Python and R. Suited (not only) for AI audience. - [H2O Wave Apps](https://github.com/h2oai/wave-apps) _(label: hacktoberfest)_
Sample AI Apps built with H2O Wave. -- [Harmony](https://github.com/harmonydata/harmony) _(label: Good First Issue)_
Natural language processing tool for psychologists to analyse and compare datasets with AI and LLMs. +- [Harmony](https://github.com/harmonydata/harmony) _(label: Good First Issue)_
Natural language processing tool for psychologists to analyse and compare datasets with AI and LLMs.
Up for a challenge? Try [this LLM training competition](https://harmonydata.ac.uk/doxa/) for a chance to win up to £500! - [jarvis](https://github.com/sukeesh/Jarvis) _(label: difficulty/newcomer)_
A personal assistant for Linux, MacOs and Windows based on Command line Interface. - [Jupyter notebook](https://github.com/jupyter/notebook) _(label: good first issue)_
Jupyter interactive notebook. - [Kinto](https://github.com/Kinto/kinto) _(label: easy-pick)_
A lightweight JSON storage service with synchronisation and sharing abilities. From f581020ab621845f4b4609bfbca6fccdfea0cb49 Mon Sep 17 00:00:00 2001 From: Sammy Hori Date: Sun, 17 Nov 2024 20:58:03 +0000 Subject: [PATCH 17/28] WIP: Added new script for building the README This uses jinja templating to do so. The script is made to exactly copy the behaviour of the current script as now, to prove that it does the same thing. --- .github/README.j2 | 31 ++++++++++++++++++++++++++++ .github/scripts/render-readme.py | 35 ++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 .github/README.j2 create mode 100644 .github/scripts/render-readme.py diff --git a/.github/README.j2 b/.github/README.j2 new file mode 100644 index 0000000..c9cf47e --- /dev/null +++ b/.github/README.j2 @@ -0,0 +1,31 @@ +# Awesome First PR Opportunities [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) + +Inspired by [First Timers Only](https://kentcdodds.com/blog/first-timers-only) blog post. + +If you are a maintainer of open-source projects, add the label `first-timers-only` (or similar) to your project and list it here so that people can find it. + +If you are not a programmer but would like to contribute, check out the [Awesome for non-programmers](https://github.com/szabgab/awesome-for-non-programmers) list. + +## Table of Contents: +{% for category in categories %} +- [{{ category.title }}](#{{ category.link_id }}){% endfor %} +{% for category in categories %} +## {{ category.title }} +{% for entry in category.entries %} +- [{{ entry.name }}]({{ entry.link }}) _(label: {% if entry.label is defined %}{{ entry.label }}{% else %}n/a{% endif %})_
{{ entry.description }}{% endfor %} +{% endfor %} + +## Contribute + +Contributions are welcome! See the [contributing guidelines](CONTRIBUTING.md). + +## Thanks to GitHub Sponsors + +{% for sponsor in sponsors %}{% endfor %}

{{ sponsor.name }}
+ +## License + +[![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/) + +To the extent possible under law, the author has waived all copyrights and related or neighboring rights to this work. + diff --git a/.github/scripts/render-readme.py b/.github/scripts/render-readme.py new file mode 100644 index 0000000..02d4e64 --- /dev/null +++ b/.github/scripts/render-readme.py @@ -0,0 +1,35 @@ +from jinja2 import Environment, FileSystemLoader +import json + +technologies = {} + +with open("../../data.json", 'r') as datafile: + data = json.loads(datafile.read()) + +for technology in data["technologies"]: + technologies[technology] = {"link_id": data["technologies"][technology], "entries": []} + +for repository in data["repositories"]: + repo_technologies = repository["technologies"] + for repo_technology in repo_technologies: + if not technologies.get(repo_technology, False): + technologies[repo_technology] = {"link_id": repo_technology.lower(), "entries": []} + technologies[repo_technology]["entries"].append(repository) + +env = Environment(loader = FileSystemLoader("..")) + +template = env.get_template("README.j2") + +categories = [] +for key, value in zip(technologies.keys(), technologies.values()): + categories.append({"title": key, "link_id": value["link_id"], "entries": value["entries"]}) + +categories = sorted(categories, key=lambda x: x["title"].upper()) +for category in categories: + category["entries"] = sorted(category["entries"], key=lambda x: x["name"].upper()) + +sponsors = data["sponsors"] + +output = template.render(categories=categories, sponsors=sponsors) + +open("README.md", "w").write(output) From fe164b7153e7cff3e1c6125a2f9c935c53c09367 Mon Sep 17 00:00:00 2001 From: Sammy Hori Date: Sun, 17 Nov 2024 20:58:37 +0000 Subject: [PATCH 18/28] Made changes to the filepaths to enable running of the script from the repo root. --- .github/scripts/render-readme.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) mode change 100644 => 100755 .github/scripts/render-readme.py diff --git a/.github/scripts/render-readme.py b/.github/scripts/render-readme.py old mode 100644 new mode 100755 index 02d4e64..8f3673d --- a/.github/scripts/render-readme.py +++ b/.github/scripts/render-readme.py @@ -1,9 +1,14 @@ from jinja2 import Environment, FileSystemLoader import json +DATAFILE = "./data.json" +TEMPLATEPATH = "./.github/" +TEMPLATEFILE = "README.j2" +TARGETFILE = "./README.md" + technologies = {} -with open("../../data.json", 'r') as datafile: +with open(DATAFILE, 'r') as datafile: data = json.loads(datafile.read()) for technology in data["technologies"]: @@ -16,9 +21,9 @@ for repository in data["repositories"]: technologies[repo_technology] = {"link_id": repo_technology.lower(), "entries": []} technologies[repo_technology]["entries"].append(repository) -env = Environment(loader = FileSystemLoader("..")) +env = Environment(loader = FileSystemLoader(TEMPLATEPATH)) -template = env.get_template("README.j2") +template = env.get_template(TEMPLATEFILE) categories = [] for key, value in zip(technologies.keys(), technologies.values()): @@ -32,4 +37,4 @@ sponsors = data["sponsors"] output = template.render(categories=categories, sponsors=sponsors) -open("README.md", "w").write(output) +open(TARGETFILE, "w").write(output) From b531c33c6b43f869426df002baac64c3b6ec9e19 Mon Sep 17 00:00:00 2001 From: Sammy Hori Date: Sun, 17 Nov 2024 21:45:43 +0000 Subject: [PATCH 19/28] Changed github workflow to run new script --- .github/workflows/build.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9ede61e..aaafdcc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,11 +13,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: actions/setup-node@v2 - with: - node-version: "16.x" + - name: install jinja2 + run: sudo pip install jinja2 - name: Build - run: node .github/scripts/build.js + run: python3 .github/scripts/render-readme.py - name: Commit run: | git config --global user.name 'Shmavon Gazanchyan' From 445e53bc48bd85a6b08eb98e30fbd82ce980afac Mon Sep 17 00:00:00 2001 From: Sammy Hori Date: Sun, 17 Nov 2024 21:48:11 +0000 Subject: [PATCH 20/28] Removed old script and template --- .github/scripts/build.js | 87 ---------------------------------------- .github/tpl.md | 27 ------------- 2 files changed, 114 deletions(-) delete mode 100644 .github/scripts/build.js delete mode 100644 .github/tpl.md diff --git a/.github/scripts/build.js b/.github/scripts/build.js deleted file mode 100644 index cb9d433..0000000 --- a/.github/scripts/build.js +++ /dev/null @@ -1,87 +0,0 @@ -const fs = require('fs'); -const data = require('../../data.json'); - -const TPL_FILE = './.github/tpl.md'; -const TARGET = './README.md'; - -const tpl = getTemplate(TPL_FILE); - -const categories = {}; - -data.repositories.sort((a, b) => { - const nameA = a.name.toUpperCase(); - const nameB = b.name.toUpperCase(); - if (nameA < nameB) { - return -1; - } - if (nameA > nameB) { - return 1; - } - return 0; -}).forEach(repo => - repo.technologies.forEach(tech => { - if (!categories.hasOwnProperty(tech)) { - categories[tech] = []; - } - categories[tech].push(repo); - })) - -const sortedCategories = Object.fromEntries(Object.entries(categories).sort((a, b) => { - const nameA = a[0].toUpperCase(); - const nameB = b[0].toUpperCase(); - if (nameA < nameB) { - return -1; - } - if (nameA > nameB) { - return 1; - } - return 0; -})); - -const toc = Object.keys(sortedCategories) - .map(t => `- [${t}](#${data.technologies[t] || t.toLowerCase()})`) - .join('\n'); - -const content = Object.keys(sortedCategories) - .map(category => { - const repos = sortedCategories[category].map(repo => `- [${repo.name}](${repo.link}) _(label: ${repo.label || 'n/a'})_
${repo.description}`).join('\n') - return `## ${category}\n\n${repos}\n` - }).join('\n'); - -const sponsorList = data.sponsors.map(sponsor => `
${sponsor.name}
`) -const sponsorRows = Math.ceil(sponsorList.length / 6); - -let sponsors = ''; - -for (let i = 1; i <= sponsorRows; i++) { - sponsors += ''; - for(let j = 0; j < 6; j++) { - if (sponsorList.length > i*j) { - sponsors += sponsorList[i*j]; - } else if (sponsorRows > 1) { - sponsors += '' - } - } - sponsors += ''; -} - -sponsors = `${sponsors}
` - -saveFile(TARGET, render(tpl, { toc, content, sponsors })); - -function getTemplate(file) { - return fs.readFileSync(file).toString(); -} - -function saveFile(file, contents) { - return fs.writeFileSync(file, contents); -} - -function render(template, variables) { - Object - .entries(variables) - .forEach(([key, value]) => { - template = template.replace(new RegExp(`<% ${key} %>`, 'g'), value); - }); - return template; -} diff --git a/.github/tpl.md b/.github/tpl.md deleted file mode 100644 index 85fe672..0000000 --- a/.github/tpl.md +++ /dev/null @@ -1,27 +0,0 @@ -# Awesome First PR Opportunities [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) - -Inspired by [First Timers Only](https://kentcdodds.com/blog/first-timers-only) blog post. - -If you are a maintainer of open-source projects, add the label `first-timers-only` (or similar) to your project and list it here so that people can find it. - -If you are not a programmer but would like to contribute, check out the [Awesome for non-programmers](https://github.com/szabgab/awesome-for-non-programmers) list. - -## Table of Contents: - -<% toc %> - -<% content %> - -## Contribute - -Contributions are welcome! See the [contributing guidelines](CONTRIBUTING.md). - -## Thanks to GitHub Sponsors - -<% sponsors %> - -## License - -[![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/) - -To the extent possible under law, the author has waived all copyrights and related or neighboring rights to this work. From 2deeb0e5e303d6e6a5ce093af0dbb2b7b77a1653 Mon Sep 17 00:00:00 2001 From: Sammy Hori Date: Sun, 17 Nov 2024 22:10:11 +0000 Subject: [PATCH 21/28] Set the sponsors table new row every 6 entries. This copies the behaviour of the old script. --- .github/README.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/README.j2 b/.github/README.j2 index c9cf47e..67942e2 100644 --- a/.github/README.j2 +++ b/.github/README.j2 @@ -21,7 +21,7 @@ Contributions are welcome! See the [contributing guidelines](CONTRIBUTING.md). ## Thanks to GitHub Sponsors -{% for sponsor in sponsors %}{% endfor %}

{{ sponsor.name }}
+{% for sponsor in sponsors %}{% if loop.index != 1 and (loop.index - 1) % 6 == 0 %}{% endif %}{% endfor %}

{{ sponsor.name }}
## License From 486d0e9510b05f3b50cc92f60997ad2292f59e23 Mon Sep 17 00:00:00 2001 From: Sammy Hori Date: Sun, 17 Nov 2024 22:15:04 +0000 Subject: [PATCH 22/28] Moved README template to different filename to avoid being used as the repo README --- .github/{README.j2 => README-template.j2} | 0 .github/scripts/render-readme.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename .github/{README.j2 => README-template.j2} (100%) diff --git a/.github/README.j2 b/.github/README-template.j2 similarity index 100% rename from .github/README.j2 rename to .github/README-template.j2 diff --git a/.github/scripts/render-readme.py b/.github/scripts/render-readme.py index 8f3673d..94aa30a 100755 --- a/.github/scripts/render-readme.py +++ b/.github/scripts/render-readme.py @@ -3,7 +3,7 @@ import json DATAFILE = "./data.json" TEMPLATEPATH = "./.github/" -TEMPLATEFILE = "README.j2" +TEMPLATEFILE = "README-template.j2" TARGETFILE = "./README.md" technologies = {} From 8c37533a5865b23637ddb8b00ff880e395b76bf0 Mon Sep 17 00:00:00 2001 From: Sammy Hori Date: Sun, 17 Nov 2024 22:19:10 +0000 Subject: [PATCH 23/28] Add zoom-rs to README.md data.json --- data.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/data.json b/data.json index 4ae0f5a..e666862 100644 --- a/data.json +++ b/data.json @@ -2210,6 +2210,15 @@ "Pug" ], "description": "An inventory of tools and resources that aims to help people to find everything related to CyberSecurity." - } + }, + { + "name": "zoom-rs", + "link": "https://github.com/security-union/zoom-rs", + "label": "good first issue", + "technologies": [ + "Rust" + ], + "description": "Teleconference system with a web based user interface written in Rust" + } ] } From 8a68ba889369c7d4623be64814bf2f8aeb61a17b Mon Sep 17 00:00:00 2001 From: Shmavon Gazanchyan Date: Sun, 17 Nov 2024 22:20:37 +0000 Subject: [PATCH 24/28] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index eb8ba67..aeb4bb5 100644 --- a/README.md +++ b/README.md @@ -350,6 +350,7 @@ If you are not a programmer but would like to contribute, check out the [Awesome - [Sniffnet](https://github.com/GyulyVGC/sniffnet) _(label: good first issue)_
Application to comfortably monitor network traffic. - [TiKV](https://github.com/tikv/tikv) _(label: difficulty/easy)_
A distributed transactional key-value database - [Veloren](https://gitlab.com/veloren/veloren/-/issues?label_name[]=beginner) _(label: n/a)_
Veloren is a multiplayer voxel RPG written in Rust. +- [zoom-rs](https://github.com/security-union/zoom-rs) _(label: good first issue)_
Teleconference system with a web based user interface written in Rust ## Scala From 4fe04983af35b4b442347249a7b386ece4604b79 Mon Sep 17 00:00:00 2001 From: OiJs Date: Tue, 19 Nov 2024 11:35:19 +0900 Subject: [PATCH 25/28] Add fastAPI to data.json --- data.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/data.json b/data.json index e666862..0b34f24 100644 --- a/data.json +++ b/data.json @@ -2219,6 +2219,16 @@ "Rust" ], "description": "Teleconference system with a web based user interface written in Rust" - } + }, + { + "name": "FastAPI", + "link": "https://github.com/tiangolo/fastapi", + "label": "good first issue", + "technologies": [ + "Python" + ], + "description": "A modern, fast (high-performance) web framework for building APIs with Python 3.6+ based on standard Python type hints." + } + ] } From 1b5d98e40a0675ca44a2558919aa1b0b352379ad Mon Sep 17 00:00:00 2001 From: Shmavon Gazanchyan Date: Thu, 21 Nov 2024 01:14:05 +0000 Subject: [PATCH 26/28] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index aeb4bb5..ca03308 100644 --- a/README.md +++ b/README.md @@ -288,6 +288,7 @@ If you are not a programmer but would like to contribute, check out the [Awesome - [django cookiecutter](https://github.com/pydanny/cookiecutter-django) _(label: hacktoberfest)_
An implementation of Python for backend web development. - [Embedchain](https://github.com/embedchain/embedchain/) _(label: good first issue)_
Embedchain is a framework to easily create LLM powered bots over any dataset. - [Fabric](https://github.com/fabric/fabric) _(label: Low-hanging-fruit)_
Pythonic remote execution and deployment. +- [FastAPI](https://github.com/tiangolo/fastapi) _(label: good first issue)_
A modern, fast (high-performance) web framework for building APIs with Python 3.6+ based on standard Python type hints. - [H2O Wave](https://github.com/h2oai/wave) _(label: good first issue)_
Realtime Web Apps and Dashboards framework for Python and R. Suited (not only) for AI audience. - [H2O Wave Apps](https://github.com/h2oai/wave-apps) _(label: hacktoberfest)_
Sample AI Apps built with H2O Wave. - [Harmony](https://github.com/harmonydata/harmony) _(label: Good First Issue)_
Natural language processing tool for psychologists to analyse and compare datasets with AI and LLMs.
Up for a challenge? Try [this LLM training competition](https://harmonydata.ac.uk/doxa/) for a chance to win up to £500! From b2aa1a3f9a5d5eeb025ab0516cf4e941e01d242f Mon Sep 17 00:00:00 2001 From: Sammy Hori Date: Thu, 21 Nov 2024 01:18:05 +0000 Subject: [PATCH 27/28] Removed Letra Extension for inactivity Over 1 year of inactivity --- data.json | 9 --------- 1 file changed, 9 deletions(-) diff --git a/data.json b/data.json index 0b34f24..3111594 100644 --- a/data.json +++ b/data.json @@ -1035,15 +1035,6 @@ ], "description": "Drag & Drop internal tool builder" }, - { - "name": "Letra Extension", - "link": "https://github.com/jayehernandez/letra-extension", - "label": "good first issue", - "technologies": [ - "JavaScript" - ], - "description": "Passively learn a new language every time you open a new tab." - }, { "name": "Jasmine", "link": "https://github.com/jasmine/jasmine", From cf046c60c67ae084568e0e0246c29e5b40e20e09 Mon Sep 17 00:00:00 2001 From: Shmavon Gazanchyan Date: Thu, 21 Nov 2024 01:19:00 +0000 Subject: [PATCH 28/28] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ca03308..4d6d67c 100644 --- a/README.md +++ b/README.md @@ -173,7 +173,6 @@ If you are not a programmer but would like to contribute, check out the [Awesome - [json-editor](https://github.com/json-editor/json-editor) _(label: good first issue)_
JSON Schema Based Editor. JSON Editor takes a JSON Schema and uses it to generate an HTML form. It has full support for JSON Schema version 3 and 4 and can integrate with several popular CSS frameworks (bootstrap, spectre, tailwind). - [Kinto.js](https://github.com/Kinto/kinto.js) _(label: easy-pick)_
An offline-first JavaScript client leveraging the Kinto API for remote data synchronization. - [Leaflet](https://github.com/Leaflet/Leaflet) _(label: good first issue)_
JavaScript library for mobile-friendly interactive maps. -- [Letra Extension](https://github.com/jayehernandez/letra-extension) _(label: good first issue)_
Passively learn a new language every time you open a new tab. - [material-ui](https://github.com/mui-org/material-ui) _(label: good first issue)_
React components for faster and easier web development. Build your own design system, or start with Material Design. - [Mattermost](https://github.com/mattermost/mattermost-server/issues?utf8=✓&q=is:open+label:"Up+For+Grabs"+label:"Difficulty/1:Easy"+label:"Tech/Go") _(label: n/a)_
Open source Slack-alternative in Golang and React - [Meteor](https://github.com/meteor/meteor) _(label: good first issue)_
Meteor is an ultra-simple environment for building modern web applications.