mirror of
https://github.com/MunGell/awesome-for-beginners.git
synced 2026-01-26 05:18:12 -08:00
Compare commits
1 Commits
74e470c45d
...
777ec10ce4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
777ec10ce4 |
15
.github/README-template.j2
vendored
15
.github/README-template.j2
vendored
@@ -1,7 +1,7 @@
|
|||||||
<!-- DO NOT EDIT THIS FILE (`README.md`) -->
|
<!-- DO NOT EDIT THIS FILE (README.md) -->
|
||||||
<!-- ALL ENTRIES SHOULD BE ADDED TO AND REMOVED FROM `data.json` -->
|
<!-- ALL ENTRIES SHOULD BE IN TO THE 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 `README-template.j2` -->
|
<!-- YOU MAY IGNORE THIS MESSAGE IF YOU ARE EDITING THE TEMPLATE -->
|
||||||
|
|
||||||
# Awesome First PR Opportunities [](https://github.com/sindresorhus/awesome)
|
# Awesome First PR Opportunities [](https://github.com/sindresorhus/awesome)
|
||||||
|
|
||||||
@@ -10,11 +10,10 @@ 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:
|
|
||||||
|
|
||||||
||Languages|
|
## Table of Contents:
|
||||||
|--|--|{% for category_group, categories in category_groups.items() %}
|
{% for category in categories %}
|
||||||
|{{ category_group }}|{% for category in categories %}[{{ category.title }}](#{{ category.link_id }}){% if loop.index < (categories | length) %}, {% endif %}{% endfor %}|{% endfor %}
|
- [{{ category.title }}](#{{ category.link_id }}){% endfor %}
|
||||||
{% for category in categories %}
|
{% for category in categories %}
|
||||||
## {{ category.title }}
|
## {{ category.title }}
|
||||||
{% for entry in category.entries %}
|
{% for entry in category.entries %}
|
||||||
|
|||||||
29
.github/scripts/render-readme.py
vendored
29
.github/scripts/render-readme.py
vendored
@@ -6,50 +6,35 @@ 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] = {
|
technologies[technology] = {"link_id": data["technologies"][technology], "entries": []}
|
||||||
"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] = new_technology_dict(repo_technology)
|
technologies[repo_technology] = {"link_id": repo_technology.lower(), "entries": []}
|
||||||
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(
|
categories.append({"title": key, "link_id": value["link_id"], "entries": value["entries"]})
|
||||||
{"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(category_groups=category_groups, categories=categories, sponsors=sponsors)
|
output = template.render(categories=categories, sponsors=sponsors)
|
||||||
|
|
||||||
open(TARGETFILE, "w").write(output)
|
open(TARGETFILE, "w").write(output)
|
||||||
|
|||||||
55
README.md
55
README.md
@@ -1,7 +1,7 @@
|
|||||||
<!-- DO NOT EDIT THIS FILE (`README.md`) -->
|
<!-- DO NOT EDIT THIS FILE (README.md) -->
|
||||||
<!-- ALL ENTRIES SHOULD BE ADDED TO AND REMOVED FROM `data.json` -->
|
<!-- ALL ENTRIES SHOULD BE IN TO THE 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 `README-template.j2` -->
|
<!-- YOU MAY IGNORE THIS MESSAGE IF YOU ARE EDITING THE TEMPLATE -->
|
||||||
|
|
||||||
# Awesome First PR Opportunities [](https://github.com/sindresorhus/awesome)
|
# Awesome First PR Opportunities [](https://github.com/sindresorhus/awesome)
|
||||||
|
|
||||||
@@ -10,24 +10,38 @@ 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:
|
||||||
|
|
||||||
||Languages|
|
- [.NET](#net)
|
||||||
|--|--|
|
- [Angular](#angular)
|
||||||
|Misc|[.NET](#net)|
|
- [Ansible](#ansible)
|
||||||
|A|[Angular](#angular), [Ansible](#ansible)|
|
- [C](#c)
|
||||||
|C|[C](#c), [C#](#c-1), [C++](#c-2), [Clojure](#clojure)|
|
- [C#](#c-1)
|
||||||
|D|[Dart](#dart)|
|
- [C++](#c-2)
|
||||||
|E|[Elixir](#elixir), [Elm](#elm)|
|
- [Clojure](#clojure)
|
||||||
|G|[Go](#go)|
|
- [Dart](#dart)
|
||||||
|H|[Haskell](#haskell)|
|
- [Elixir](#elixir)
|
||||||
|J|[Java](#java), [JavaScript](#javascript), [JSON](#json), [Julia](#julia)|
|
- [Elm](#elm)
|
||||||
|K|[Kotlin](#kotlin)|
|
- [Go](#go)
|
||||||
|M|[Markdown](#markdown), [MLOps](#mlops)|
|
- [Haskell](#haskell)
|
||||||
|P|[Perl](#perl), [PHP](#php), [Pug](#pug), [Python](#python)|
|
- [Java](#java)
|
||||||
|R|[Ruby](#ruby), [Rust](#rust)|
|
- [JavaScript](#javascript)
|
||||||
|S|[Scala](#scala), [Smalltalk](#smalltalk), [Swift](#swift)|
|
- [JSON](#json)
|
||||||
|T|[TypeScript](#typescript)|
|
- [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)
|
||||||
|
|
||||||
## .NET
|
## .NET
|
||||||
|
|
||||||
@@ -157,6 +171,7 @@ 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.
|
||||||
|
|||||||
@@ -594,6 +594,15 @@
|
|||||||
],
|
],
|
||||||
"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",
|
||||||
|
|||||||
Reference in New Issue
Block a user