mirror of
https://github.com/MunGell/awesome-for-beginners.git
synced 2026-01-26 13:28:11 -08:00
Compare commits
12 Commits
777ec10ce4
...
74e470c45d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
74e470c45d | ||
|
|
636f1e74a1 | ||
|
|
dacec5270b | ||
|
|
f24d304650 | ||
|
|
2a94ab4dec | ||
|
|
0ba0f13945 | ||
|
|
5d353dea89 | ||
|
|
9fa6b2699e | ||
|
|
11e6aac392 | ||
|
|
62ab6fee66 | ||
|
|
377118e21e | ||
|
|
70bdc1e5ac |
15
.github/README-template.j2
vendored
15
.github/README-template.j2
vendored
@@ -1,7 +1,7 @@
|
||||
<!-- DO NOT EDIT THIS FILE (README.md) -->
|
||||
<!-- ALL ENTRIES SHOULD BE IN TO THE data.json -->
|
||||
<!-- SEE THE CONTRIBUTING GUIDE (CONTRIBUTING.md) FOR MORE GUIDANCE -->
|
||||
<!-- YOU MAY IGNORE THIS MESSAGE IF YOU ARE EDITING THE TEMPLATE -->
|
||||
<!-- DO NOT EDIT THIS FILE (`README.md`) -->
|
||||
<!-- ALL ENTRIES SHOULD BE ADDED TO AND REMOVED FROM `data.json` -->
|
||||
<!-- SEE THE CONTRIBUTING GUIDE (`CONTRIBUTING.md`) FOR MORE GUIDANCE -->
|
||||
<!-- YOU MAY IGNORE THIS MESSAGE IF YOU ARE EDITING `README-template.j2` -->
|
||||
|
||||
# Awesome First PR Opportunities [](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 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 %}
|
||||
|
||||
||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 %}
|
||||
## {{ category.title }}
|
||||
{% for entry in category.entries %}
|
||||
|
||||
29
.github/scripts/render-readme.py
vendored
29
.github/scripts/render-readme.py
vendored
@@ -6,35 +6,50 @@ TEMPLATEPATH = "./.github/"
|
||||
TEMPLATEFILE = "README-template.j2"
|
||||
TARGETFILE = "./README.md"
|
||||
|
||||
def new_technology_dict(repo_technology):
|
||||
return {"link_id": repo_technology.lower(), "entries": []}
|
||||
|
||||
technologies = {}
|
||||
|
||||
with open(DATAFILE, 'r') as datafile:
|
||||
with open(DATAFILE, "r") as datafile:
|
||||
data = json.loads(datafile.read())
|
||||
|
||||
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"]:
|
||||
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] = new_technology_dict(repo_technology)
|
||||
technologies[repo_technology]["entries"].append(repository)
|
||||
|
||||
env = Environment(loader = FileSystemLoader(TEMPLATEPATH))
|
||||
|
||||
env = Environment(loader=FileSystemLoader(TEMPLATEPATH))
|
||||
template = env.get_template(TEMPLATEFILE)
|
||||
|
||||
categories = []
|
||||
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())
|
||||
category_groups = {"Misc": []}
|
||||
for category in categories:
|
||||
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"]
|
||||
|
||||
output = template.render(categories=categories, sponsors=sponsors)
|
||||
output = template.render(category_groups=category_groups, categories=categories, sponsors=sponsors)
|
||||
|
||||
open(TARGETFILE, "w").write(output)
|
||||
|
||||
55
README.md
55
README.md
@@ -1,7 +1,7 @@
|
||||
<!-- DO NOT EDIT THIS FILE (README.md) -->
|
||||
<!-- ALL ENTRIES SHOULD BE IN TO THE data.json -->
|
||||
<!-- SEE THE CONTRIBUTING GUIDE (CONTRIBUTING.md) FOR MORE GUIDANCE -->
|
||||
<!-- YOU MAY IGNORE THIS MESSAGE IF YOU ARE EDITING THE TEMPLATE -->
|
||||
<!-- DO NOT EDIT THIS FILE (`README.md`) -->
|
||||
<!-- ALL ENTRIES SHOULD BE ADDED TO AND REMOVED FROM `data.json` -->
|
||||
<!-- SEE THE CONTRIBUTING GUIDE (`CONTRIBUTING.md`) FOR MORE GUIDANCE -->
|
||||
<!-- YOU MAY IGNORE THIS MESSAGE IF YOU ARE EDITING `README-template.j2` -->
|
||||
|
||||
# Awesome First PR Opportunities [](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 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:
|
||||
|
||||
- [.NET](#net)
|
||||
- [Angular](#angular)
|
||||
- [Ansible](#ansible)
|
||||
- [C](#c)
|
||||
- [C#](#c-1)
|
||||
- [C++](#c-2)
|
||||
- [Clojure](#clojure)
|
||||
- [Dart](#dart)
|
||||
- [Elixir](#elixir)
|
||||
- [Elm](#elm)
|
||||
- [Go](#go)
|
||||
- [Haskell](#haskell)
|
||||
- [Java](#java)
|
||||
- [JavaScript](#javascript)
|
||||
- [JSON](#json)
|
||||
- [Julia](#julia)
|
||||
- [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)
|
||||
||Languages|
|
||||
|--|--|
|
||||
|Misc|[.NET](#net)|
|
||||
|A|[Angular](#angular), [Ansible](#ansible)|
|
||||
|C|[C](#c), [C#](#c-1), [C++](#c-2), [Clojure](#clojure)|
|
||||
|D|[Dart](#dart)|
|
||||
|E|[Elixir](#elixir), [Elm](#elm)|
|
||||
|G|[Go](#go)|
|
||||
|H|[Haskell](#haskell)|
|
||||
|J|[Java](#java), [JavaScript](#javascript), [JSON](#json), [Julia](#julia)|
|
||||
|K|[Kotlin](#kotlin)|
|
||||
|M|[Markdown](#markdown), [MLOps](#mlops)|
|
||||
|P|[Perl](#perl), [PHP](#php), [Pug](#pug), [Python](#python)|
|
||||
|R|[Ruby](#ruby), [Rust](#rust)|
|
||||
|S|[Scala](#scala), [Smalltalk](#smalltalk), [Swift](#swift)|
|
||||
|T|[TypeScript](#typescript)|
|
||||
|
||||
## .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.
|
||||
- [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
|
||||
- [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.
|
||||
- [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.
|
||||
|
||||
@@ -594,15 +594,6 @@
|
||||
],
|
||||
"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",
|
||||
"link": "https://github.com/AliBasboga/APIExampleWithExpress.git",
|
||||
|
||||
Reference in New Issue
Block a user