Compare commits

..

12 Commits

Author SHA1 Message Date
BOT
74e470c45d Merge 27ffb33f3e into 636f1e74a1 2024-12-13 21:05:55 +00:00
Shmavon Gazanchyan
636f1e74a1 Update README.md 2024-12-13 21:01:04 +00:00
Sammy Hori
dacec5270b Merge pull request #1535 from MunGell/remove-vercel-hyper-1
Remove zeit (now vercel)/hyper for inactivity
2024-12-13 21:00:51 +00:00
Sammy Hori
f24d304650 Merge pull request #1533 from MunGell/readme-improvements
Improvements to the README file template including to the table of contents
2024-12-13 21:00:25 +00:00
Sammy Hori
2a94ab4dec Remove stray newline from README template 2024-12-13 20:59:23 +00:00
Sammy Hori
0ba0f13945 Remove zeit (now vercel)/hyper for inactivity
This repo has been inactive for 8 months
2024-12-13 20:54:34 +00:00
Sammy Hori
5d353dea89 Reduced the table of contents length by putting it into a table
Categories are grouped by their first character in the table
2024-12-13 20:42:45 +00:00
Sammy Hori
9fa6b2699e Merge remote-tracking branch 'origin/main' into readme-improvements 2024-12-13 19:35:19 +00:00
Sammy Hori
11e6aac392 Merge pull request #1534 from MunGell/readme-workflow-change
Minor improvements to the readme generation workflow
2024-12-13 19:32:38 +00:00
Sammy Hori
62ab6fee66 Clean up README edit warning message 2024-12-13 18:04:27 +00:00
Sammy Hori
377118e21e ruff formatting 2024-11-23 09:49:46 +00:00
Sammy Hori
70bdc1e5ac Cleaning code a little by putting some in a method 2024-11-23 09:45:47 +00:00
4 changed files with 50 additions and 58 deletions

View File

@@ -1,7 +1,7 @@
<!-- DO NOT EDIT THIS FILE (README.md) --> <!-- DO NOT EDIT THIS FILE (`README.md`) -->
<!-- ALL ENTRIES SHOULD BE IN TO THE data.json --> <!-- ALL ENTRIES SHOULD BE ADDED TO AND REMOVED FROM `data.json` -->
<!-- SEE THE CONTRIBUTING GUIDE (CONTRIBUTING.md) FOR MORE GUIDANCE --> <!-- SEE THE CONTRIBUTING GUIDE (`CONTRIBUTING.md`) FOR MORE GUIDANCE -->
<!-- YOU MAY IGNORE THIS MESSAGE IF YOU ARE EDITING THE TEMPLATE --> <!-- YOU MAY IGNORE THIS MESSAGE IF YOU ARE EDITING `README-template.j2` -->
# Awesome First PR Opportunities [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) # Awesome First PR Opportunities [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
@@ -10,10 +10,11 @@ Inspired by [First Timers Only](https://kentcdodds.com/blog/first-timers-only) b
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 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. 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: ## Table of Contents:
{% for category in categories %}
- [{{ category.title }}](#{{ category.link_id }}){% endfor %} ||Languages|
|--|--|{% for category_group, categories in category_groups.items() %}
|{{ category_group }}|{% for category in categories %}[{{ category.title }}](#{{ category.link_id }}){% if loop.index < (categories | length) %}, {% endif %}{% endfor %}|{% endfor %}
{% for category in categories %} {% for category in categories %}
## {{ category.title }} ## {{ category.title }}
{% for entry in category.entries %} {% for entry in category.entries %}

View File

@@ -6,35 +6,50 @@ TEMPLATEPATH = "./.github/"
TEMPLATEFILE = "README-template.j2" TEMPLATEFILE = "README-template.j2"
TARGETFILE = "./README.md" TARGETFILE = "./README.md"
def new_technology_dict(repo_technology):
return {"link_id": repo_technology.lower(), "entries": []}
technologies = {} technologies = {}
with open(DATAFILE, 'r') as datafile: with open(DATAFILE, "r") as datafile:
data = json.loads(datafile.read()) data = json.loads(datafile.read())
for technology in data["technologies"]: for technology in data["technologies"]:
technologies[technology] = {"link_id": data["technologies"][technology], "entries": []} technologies[technology] = {
"link_id": data["technologies"][technology],
"entries": [],
}
for repository in data["repositories"]: for repository in data["repositories"]:
repo_technologies = repository["technologies"] repo_technologies = repository["technologies"]
for repo_technology in repo_technologies: for repo_technology in repo_technologies:
if not technologies.get(repo_technology, False): if not technologies.get(repo_technology, False):
technologies[repo_technology] = {"link_id": repo_technology.lower(), "entries": []} technologies[repo_technology] = new_technology_dict(repo_technology)
technologies[repo_technology]["entries"].append(repository) technologies[repo_technology]["entries"].append(repository)
env = Environment(loader = FileSystemLoader(TEMPLATEPATH)) env = Environment(loader=FileSystemLoader(TEMPLATEPATH))
template = env.get_template(TEMPLATEFILE) template = env.get_template(TEMPLATEFILE)
categories = [] categories = []
for key, value in zip(technologies.keys(), technologies.values()): for key, value in zip(technologies.keys(), technologies.values()):
categories.append({"title": key, "link_id": value["link_id"], "entries": value["entries"]}) categories.append(
{"title": key, "link_id": value["link_id"], "entries": value["entries"]}
)
categories = sorted(categories, key=lambda x: x["title"].upper()) categories = sorted(categories, key=lambda x: x["title"].upper())
category_groups = {"Misc": []}
for category in categories: for category in categories:
category["entries"] = sorted(category["entries"], key=lambda x: x["name"].upper()) category["entries"] = sorted(category["entries"], key=lambda x: x["name"].upper())
first_char = category["title"][0].upper()
if first_char in "ABCDEFGHIJKLMNOPQRSTUVWXYZ":
if first_char not in category_groups:
category_groups[first_char] = []
category_groups[first_char].append(category)
else:
category_groups["Misc"].append(category)
sponsors = data["sponsors"] sponsors = data["sponsors"]
output = template.render(categories=categories, sponsors=sponsors) output = template.render(category_groups=category_groups, categories=categories, sponsors=sponsors)
open(TARGETFILE, "w").write(output) open(TARGETFILE, "w").write(output)

View File

@@ -1,7 +1,7 @@
<!-- DO NOT EDIT THIS FILE (README.md) --> <!-- DO NOT EDIT THIS FILE (`README.md`) -->
<!-- ALL ENTRIES SHOULD BE IN TO THE data.json --> <!-- ALL ENTRIES SHOULD BE ADDED TO AND REMOVED FROM `data.json` -->
<!-- SEE THE CONTRIBUTING GUIDE (CONTRIBUTING.md) FOR MORE GUIDANCE --> <!-- SEE THE CONTRIBUTING GUIDE (`CONTRIBUTING.md`) FOR MORE GUIDANCE -->
<!-- YOU MAY IGNORE THIS MESSAGE IF YOU ARE EDITING THE TEMPLATE --> <!-- YOU MAY IGNORE THIS MESSAGE IF YOU ARE EDITING `README-template.j2` -->
# Awesome First PR Opportunities [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) # Awesome First PR Opportunities [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
@@ -10,38 +10,24 @@ Inspired by [First Timers Only](https://kentcdodds.com/blog/first-timers-only) b
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 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. 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: ## Table of Contents:
- [.NET](#net) ||Languages|
- [Angular](#angular) |--|--|
- [Ansible](#ansible) |Misc|[.NET](#net)|
- [C](#c) |A|[Angular](#angular), [Ansible](#ansible)|
- [C#](#c-1) |C|[C](#c), [C#](#c-1), [C++](#c-2), [Clojure](#clojure)|
- [C++](#c-2) |D|[Dart](#dart)|
- [Clojure](#clojure) |E|[Elixir](#elixir), [Elm](#elm)|
- [Dart](#dart) |G|[Go](#go)|
- [Elixir](#elixir) |H|[Haskell](#haskell)|
- [Elm](#elm) |J|[Java](#java), [JavaScript](#javascript), [JSON](#json), [Julia](#julia)|
- [Go](#go) |K|[Kotlin](#kotlin)|
- [Haskell](#haskell) |M|[Markdown](#markdown), [MLOps](#mlops)|
- [Java](#java) |P|[Perl](#perl), [PHP](#php), [Pug](#pug), [Python](#python)|
- [JavaScript](#javascript) |R|[Ruby](#ruby), [Rust](#rust)|
- [JSON](#json) |S|[Scala](#scala), [Smalltalk](#smalltalk), [Swift](#swift)|
- [Julia](#julia) |T|[TypeScript](#typescript)|
- [Kotlin](#kotlin)
- [Markdown](#markdown)
- [MLOps](#mlops)
- [Perl](#perl)
- [PHP](#php)
- [Pug](#pug)
- [Python](#python)
- [Ruby](#ruby)
- [Rust](#rust)
- [Scala](#scala)
- [Smalltalk](#smalltalk)
- [Swift](#swift)
- [TypeScript](#typescript)
## .NET ## .NET
@@ -171,7 +157,6 @@ If you are not a programmer but would like to contribute, check out the [Awesome
- [HMPL](https://github.com/hmpl-language/hmpl) _(label: good first issue)_ <br> Server-oriented customizable templating for JavaScript. - [HMPL](https://github.com/hmpl-language/hmpl) _(label: good first issue)_ <br> Server-oriented customizable templating for JavaScript.
- [Hoppscotch](https://github.com/hoppscotch/hoppscotch) _(label: good first issue)_ <br> A free, fast and beautiful API request builder. - [Hoppscotch](https://github.com/hoppscotch/hoppscotch) _(label: good first issue)_ <br> A free, fast and beautiful API request builder.
- [HueHive](https://github.com/croma-app/croma) _(label: good first issue)_ <br> A open source react native app iOS and android for color palette management - [HueHive](https://github.com/croma-app/croma) _(label: good first issue)_ <br> A open source react native app iOS and android for color palette management
- [Hyper](https://github.com/zeit/hyper) _(label: good first issue)_ <br> JS/HTML/CSS Terminal
- [iD](https://github.com/openstreetmap/iD) _(label: good first issue)_ <br> The easy-to-use OpenStreetMap editor in JavaScript. - [iD](https://github.com/openstreetmap/iD) _(label: good first issue)_ <br> The easy-to-use OpenStreetMap editor in JavaScript.
- [Jasmine](https://github.com/jasmine/jasmine) _(label: good first issue)_ <br> Simple JavaScript testing framework for browsers and node.js. - [Jasmine](https://github.com/jasmine/jasmine) _(label: good first issue)_ <br> Simple JavaScript testing framework for browsers and node.js.
- [Jest](https://github.com/facebook/jest) _(label: good first issue)_ <br> A complete and easy to set up JavaScript testing solution. - [Jest](https://github.com/facebook/jest) _(label: good first issue)_ <br> A complete and easy to set up JavaScript testing solution.

View File

@@ -594,15 +594,6 @@
], ],
"description": "Awesome ESLint rules." "description": "Awesome ESLint rules."
}, },
{
"name": "Hyper",
"link": "https://github.com/zeit/hyper",
"label": "good first issue",
"technologies": [
"JavaScript"
],
"description": "JS/HTML/CSS Terminal"
},
{ {
"name": "API-pull-with-JavaScript", "name": "API-pull-with-JavaScript",
"link": "https://github.com/AliBasboga/APIExampleWithExpress.git", "link": "https://github.com/AliBasboga/APIExampleWithExpress.git",