From 7087f07ebb13c1a7fa79525f56c8feab288b6cd7 Mon Sep 17 00:00:00 2001
From: Josephine Rueckert
Date: Thu, 12 Jan 2023 18:47:03 +0100
Subject: [PATCH 01/17] feat: add getting contributors started page
---
src/pages/contribute.jsx | 315 +++++++++++++++++++++++++++++++++++++++
1 file changed, 315 insertions(+)
create mode 100644 src/pages/contribute.jsx
diff --git a/src/pages/contribute.jsx b/src/pages/contribute.jsx
new file mode 100644
index 00000000..8c429be8
--- /dev/null
+++ b/src/pages/contribute.jsx
@@ -0,0 +1,315 @@
+import React from "react";
+import { graphql, Link } from "gatsby";
+import { Row, Col } from "reactstrap";
+import Section from "../components/Section";
+import SEO from "../components/SEO/SEO";
+import Layout from "../layout";
+
+function GettingStarted() {
+ return (
+
+
+
+
+ All beginnings are difficult, but the below mentioned learning
+ resources for{" "}
+
+ Workspace Setup
+
+ {` and `}
+
+ {`Terasology's Engine & Module Land`}
+ {" "}
+ should help you to get started and set yourself up for success.
+
+
+ Make sure to also join our{" "}
+
+ Discord
+ {" "}
+ to get answers to your questions and help with any issues you might
+ face.
+
+
+
+
+
+
+
+ Setting up your Terasology Workspace is the first step in your
+ journey as a Terasology contributor. Follow the Contributor
+ Quickstart and make sure you understand our multi-repo setup.
+
+
+ If you are new to Git and GitHub, we also recommend to especially
+ get familiar with the Git branching basics and GitHub forking
+ workflow.
+
+
+ Further, remember that all submissions must be licensed under
+ Apache License, Version 2.0, that we encourage certain best
+ practices regarding code style, commits and pull requests, and
+ that we maintain a code of conduct.
+
+ We recommend to start contributing in Module Land rather than the
+ Terasology Engine, especially if you do not have a lot of
+ experience with Java or have not worked with an already existing
+ and big codebase yet. However, the following concepts are
+ important for both areas:
+
+ Contributing to {`Terasology's Module Land`} requires basic
+ Java knowledge and interest in UI/UX, world generation or gameplay
+ mechanics. Browse through our existing modules, see what we
+ already have and what we might still be missing.
+
+
+ To get started, you should make yourself familiar with module
+ development and testing. Furthermore, you should to learn about
+ module dependencies and world generation.
+
+ Contributing to the Terasology Engine requires being very
+ comfortable with Java and ideally having expertise in game engine
+ topics like rendering, networking and concurrency, as well as
+ in-game physics and AI technology.
+
+
+ To get started, you should make yourself familiar with the
+ codebase itself and any specific areas within it that match your
+ interest. Most of the engine-related documentation is in-code.
+
- To get started with your first contribution, you'll also find{" "}
+ To get started with your first contribution, you will also find{" "}
Ongoing Projects
@@ -282,7 +298,7 @@ function GettingStarted({ data }) {
While you are free to roam our codebase and contribute in any area
- you'd like, below are some tasks and projects that we encourage
+ you would like, below are some tasks and projects that we encourage
you to consider. Their scope and feasibility are potentially more
realistic than a goal you might set for yourself without knowing
the depths and intricacies of our codebase.
@@ -301,7 +317,7 @@ function GettingStarted({ data }) {
>
Discord
{" "}
- if you'd like to join one of them. You can also propose your
+ if you would like to join one of them. You can also propose your
own project ideas.
From d67d9f8b592b6aff2144a8d41c09f65504858659 Mon Sep 17 00:00:00 2001
From: Josephine Rueckert
Date: Thu, 12 Jan 2023 23:15:51 +0100
Subject: [PATCH 10/17] chore: format
---
src/pages/contribute.jsx | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/pages/contribute.jsx b/src/pages/contribute.jsx
index 02582768..df1fd668 100644
--- a/src/pages/contribute.jsx
+++ b/src/pages/contribute.jsx
@@ -298,10 +298,10 @@ function GettingStarted({ data }) {
While you are free to roam our codebase and contribute in any area
- you would like, below are some tasks and projects that we encourage
- you to consider. Their scope and feasibility are potentially more
- realistic than a goal you might set for yourself without knowing
- the depths and intricacies of our codebase.
+ you would like, below are some tasks and projects that we
+ encourage you to consider. Their scope and feasibility are
+ potentially more realistic than a goal you might set for yourself
+ without knowing the depths and intricacies of our codebase.
@@ -317,8 +317,8 @@ function GettingStarted({ data }) {
>
Discord
{" "}
- if you would like to join one of them. You can also propose your
- own project ideas.
+ if you would like to join one of them. You can also propose
+ your own project ideas.
From 790947d21bed294befd013bd30f512b3d0ac9b97 Mon Sep 17 00:00:00 2001
From: Josephine Rueckert
Date: Thu, 12 Jan 2023 23:11:41 +0100
Subject: [PATCH 11/17] feat: add github logo
---
static/logos/github.svg | 1 +
1 file changed, 1 insertion(+)
create mode 100644 static/logos/github.svg
diff --git a/static/logos/github.svg b/static/logos/github.svg
new file mode 100644
index 00000000..37fa923d
--- /dev/null
+++ b/static/logos/github.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
From 579f459fd148f8415a9ee7bddade719d2c9d51ca Mon Sep 17 00:00:00 2001
From: Josephine Rueckert
Date: Thu, 12 Jan 2023 23:11:49 +0100
Subject: [PATCH 12/17] feat: add good first module land issues list
---
src/pages/contribute.jsx | 153 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 152 insertions(+), 1 deletion(-)
diff --git a/src/pages/contribute.jsx b/src/pages/contribute.jsx
index df1fd668..c23318a4 100644
--- a/src/pages/contribute.jsx
+++ b/src/pages/contribute.jsx
@@ -1,10 +1,21 @@
import React from "react";
import { graphql, Link } from "gatsby";
-import { Row, Col } from "reactstrap";
+import {
+ Row,
+ Col,
+ Card,
+ CardBody,
+ CardHeader,
+ CardSubtitle,
+ CardTitle,
+} from "reactstrap";
+import moment from "moment";
import PostListing from "../components/PostListing/PostListing";
import Section from "../components/Section";
import SEO from "../components/SEO/SEO";
import Layout from "../layout";
+import Tags from "../components/common/Tags";
+import gitHubLogo from "../../static/logos/github.svg";
function GettingStarted({ data }) {
function toCardData(project, defaultCover) {
@@ -22,6 +33,30 @@ function GettingStarted({ data }) {
toCardData(project, defaultCover)
);
+ const moduleIssues = data.moduleIssues.nodes
+ .filter((module) => module.issues.nodes.length !== 0)
+ .flatMap((module) => {
+ const { name, url: moduleUrl, issues } = module;
+ return issues.nodes.map((issue) => {
+ const { title, author, labels, updatedAt, url } = issue;
+ const { login } = author;
+ const { nodes } = labels;
+ const tags = nodes.flatMap((node) => node.name);
+ return {
+ module: name,
+ moduleUrl,
+ title,
+ author: login,
+ tags,
+ date: updatedAt,
+ url,
+ };
+ });
+ })
+ .sort((a, b) =>
+ new Date(a.date).getTime() <= new Date(b.date).getTime() ? 1 : 0
+ );
+
return (
@@ -235,6 +270,16 @@ function GettingStarted({ data }) {
+
+ Jump below to our{" "}
+
+ Good First Issues in Module Land
+
+ .
+
@@ -325,6 +370,90 @@ function GettingStarted({ data }) {
) : null}
+
+
+
+
+ Find some of our module-land issues below. If you would like to
+ work on one of them, start a draft PR for it. You can also view
+ the full list on{" "}
+
+ GitHub
+
+ .
+