diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index dd452dd9a..3d34a62fd 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -23,7 +23,7 @@ Here are the types of contributions we are looking for:
1. Share your creative work inspired by a coding challenge or tutorial in the showcase!
- - You can submit your showcase with the [Passenger Showcase Form](http://thecodingtrain.com/submit)
+ - You can submit your showcase with the [Passenger Showcase Form](https://thecodingtrain.com/submit)
2. Add a new track to the site! (https://github.com/CodingTrain/thecodingtrain.com/issues/279)
diff --git a/HACKTOBERFEST.md b/HACKTOBERFEST.md
index 0de747cfa..ec0706470 100644
--- a/HACKTOBERFEST.md
+++ b/HACKTOBERFEST.md
@@ -4,7 +4,7 @@ This Hacktoberfest, here are the ways you can contribute to The Coding Train:
1. **Share your creative work on the Passenger Showcase!**
- - For your submission to count towards Hacktoberfest, you must manually create a Pull Request to the website repository. You can follow along with the [Passenger Showcase Guide](http://thecodingtrain.com/guides/passenger-showcase-guide) (scroll down below the form) to create your Pull Request.
+ - For your submission to count towards Hacktoberfest, you must manually create a Pull Request to the website repository. You can follow along with the [Passenger Showcase Guide](https://thecodingtrain.com/guides/passenger-showcase-guide) (scroll down below the form) to create your Pull Request.
2. **Curate content for the website**
@@ -21,6 +21,7 @@ This Hacktoberfest, here are the ways you can contribute to The Coding Train:
- You can contribute to other [Coding Train repositories](https://github.com/CodingTrain/) as well. You will need to ask for the Pull Request to be accepted for Hacktoberfest to count it towards your progress.
## Guide For Newer Contributors
+
If you are new to open source contributions, here are some useful resources that can help you get started:
- [Git and GitHub for Poets](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZF9C0YMKuns9sLDzK6zoiV): A Coding Train video series for Git and GitHub beginners.
diff --git a/README.md b/README.md
index 8c50e27ec..854857090 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,15 @@
# Coding Train Website
+
[](#contributors-)
+
This repo holds the website for [thecodingtrain.com](https://thecodingtrain.com/). The website is built with:
- [Gatsby](https://www.gatsbyjs.com/) to perform the static site rendering
-- [React](https://reactjs.org/) as the general JavaScript framework
+- [React](https://react.dev/) as the general JavaScript framework
## Table of Contents
diff --git a/content-testing/schemas.js b/content-testing/schemas.js
index 1b95776c2..7fbf41ba9 100644
--- a/content-testing/schemas.js
+++ b/content-testing/schemas.js
@@ -289,7 +289,7 @@ const socialGroup = strictObject({
title: string().required(),
links: array(
strictObject({
- url: string().url().required(),
+ url: urlOrRelativeLinkValidator.required(),
site: string()
.oneOf(['twitter', 'discord', 'instagram', 'youtube', 'github'])
.required()
diff --git a/content-testing/validators.js b/content-testing/validators.js
index a1f775d76..7509656c7 100644
--- a/content-testing/validators.js
+++ b/content-testing/validators.js
@@ -319,7 +319,8 @@ const relativeLinks = {
'/guides': slugs.guides,
'/showcase': new Set(),
'/faq': new Set(),
- '/about': new Set()
+ '/about': new Set(),
+ '/discord': new Set()
};
const urlOrRelativeLinkValidator = string().test(
diff --git a/content/pages/about/index.json b/content/pages/about/index.json
index fd3a039d3..e2f6d3ca8 100644
--- a/content/pages/about/index.json
+++ b/content/pages/about/index.json
@@ -36,7 +36,7 @@
"url": "https://www.youtube.com/c/TheCodingTrain/",
"site": "youtube"
},
- { "url": "https://thecodingtrain.com/discord", "site": "discord" },
+ { "url": "/discord", "site": "discord" },
{ "url": "https://github.com/CodingTrain", "site": "github" }
]
}
diff --git a/content/pages/faqs/cafe-car.json b/content/pages/faqs/cafe-car.json
index 689edf2f6..e3ff32783 100644
--- a/content/pages/faqs/cafe-car.json
+++ b/content/pages/faqs/cafe-car.json
@@ -1,6 +1,6 @@
{
"question": "Cafe Car",
"answer": {
- "text": "The Cafe Car is the place to meet and chat with the Coding Train community! Your first stop is the [Discord](https://thecodingtrain.com/discord), but we’d also love for you to say hi on [Twitter](https://twitter.com/thecodingtrain) and [Instagram](https://www.instagram.com/the.coding.train)!"
+ "text": "The Cafe Car is the place to meet and chat with the Coding Train community! Your first stop is the [Discord](/discord), but we’d also love for you to say hi on [Twitter](https://twitter.com/thecodingtrain) and [Instagram](https://www.instagram.com/the.coding.train)!"
}
}
diff --git a/content/pages/faqs/find-help.json b/content/pages/faqs/find-help.json
index 94b41f083..690dab7ea 100644
--- a/content/pages/faqs/find-help.json
+++ b/content/pages/faqs/find-help.json
@@ -1,10 +1,7 @@
{
"question": "Where can I find help with my code?",
"answer": {
- "text": "We have a friendly and helpful community in the [Coding Train Discord](https://thecodingtrain.com/discord), which has a number of help channels. You can also visit [The Processing Foundation's forum](https://discourse.processing.org/), a great place to ask specific questions related to Processing and p5.js.",
- "list": [
- "[The Coding Train's Discord](https://thecodingtrain.com/discord)",
- "[The Processing Foundation's Forum](https://discourse.processing.org/)"
- ]
+ "text": "We have a friendly and helpful community in the [Coding Train Discord](/discord), which has a number of help channels. You can also visit [The Processing Foundation's forum](https://discourse.processing.org/), a great place to ask specific questions related to Processing and p5.js.",
+ "list": ["[The Coding Train's Discord](/discord)", "[The Processing Foundation's Forum](https://discourse.processing.org/)"]
}
}
diff --git a/content/pages/faqs/livestream-notification.json b/content/pages/faqs/livestream-notification.json
index d7da9eb30..a49daf50d 100644
--- a/content/pages/faqs/livestream-notification.json
+++ b/content/pages/faqs/livestream-notification.json
@@ -1,6 +1,6 @@
{
"question": "Where and when do you live stream? Can I get a notification?",
"answer": {
- "text": "The best way to stay up to date on my schedule is to [join the Coding Train discord](https://thecodingtrain.com/discord) and subscribe to the “notifications” role.\n Live streams occur on both [Twitch](https://www.twitch.tv/codingtrainchoochoo) and [YouTube](https://www.youtube.com/c/TheCodingTrain/featured). Each platform has various options for receiving notifications. On YouTube, for example you can [subscribe to The Coding Train](https://www.youtube.com/c/TheCodingTrain) and click the bell for all notifications. For streams scheduled in advance, they’ll be listed on the [homepage of this website](/)."
+ "text": "The best way to stay up to date on my schedule is to [join the Coding Train discord](/discord) and subscribe to the “notifications” role.\n Live streams occur on both [Twitch](https://www.twitch.tv/codingtrainchoochoo) and [YouTube](https://www.youtube.com/c/TheCodingTrain/featured). Each platform has various options for receiving notifications. On YouTube, for example you can [subscribe to The Coding Train](https://www.youtube.com/c/TheCodingTrain) and click the bell for all notifications. For streams scheduled in advance, they’ll be listed on the [homepage of this website](/)."
}
}
diff --git a/content/pages/faqs/suggest-topic.json b/content/pages/faqs/suggest-topic.json
index 06b637558..e462e4076 100644
--- a/content/pages/faqs/suggest-topic.json
+++ b/content/pages/faqs/suggest-topic.json
@@ -1,6 +1,6 @@
{
"question": "How do I suggest a topic for a Coding Challenge or Track?",
"answer": {
- "text": "You can share ideas by [opening an issue in the Coding Train Suggestion Box](https://github.com/CodingTrain/Suggestion-Box) or by [joining the Coding Train discord](https://thecodingtrain.com/discord)."
+ "text": "You can share ideas by [opening an issue in the Coding Train Suggestion Box](https://github.com/CodingTrain/Suggestion-Box) or by [joining the Coding Train discord](/discord)."
}
}
diff --git a/content/pages/guides/getting-started.md b/content/pages/guides/getting-started.md
index 0ef0b35ed..484895f26 100644
--- a/content/pages/guides/getting-started.md
+++ b/content/pages/guides/getting-started.md
@@ -36,7 +36,7 @@ If you are interested in learning web development, p5.js is a way to get started
-For a beginner, I recommend the [p5.js web editor](https://editor.p5js.org/), it’s probably the most used coding environment! If you are using Processing, it comes [with its own development environment](https://processing.org/download)! You can also explore a downloadable text editor like [Visual Studio Code](https://code.visualstudio.com/) for either! I cover tools beyond p5.js and Processing in [my 2023 workflow video](/tracks/2018-workflow/workflow/2023-update). There are many text editors out there – feel free to use whichever makes your coding experience comfortable!
+For a beginner, I recommend the [p5.js web editor](https://editor.p5js.org/), it’s probably the most used coding environment! If you are using Processing, it comes [with its own development environment](https://processing.org/download)! You can also explore a downloadable text editor like [Visual Studio Code](https://code.visualstudio.com/) for either! I cover tools beyond p5.js and Processing in [my 2023 workflow video](/tracks/2018-workflow/discord/2023-workflow). There are many text editors out there – feel free to use whichever makes your coding experience comfortable!
## Version Control
diff --git a/content/pages/guides/maintain-website-guide.md b/content/pages/guides/maintain-website-guide.md
index e914321f4..088fd34f9 100644
--- a/content/pages/guides/maintain-website-guide.md
+++ b/content/pages/guides/maintain-website-guide.md
@@ -153,7 +153,7 @@ git push --set-upstream origin branch-name
7. Check the links to the references and videos to make sure are not broken and add additional metadata. Add a link (s) to any archived Live Streams associated with the challenge.
- - For accessibilty and for general clarity, ensure that all "description" properties in the index.json file as well as the contribution JSON files are filled in with at least 1 sentence.
+ - For accessibility and for general clarity, ensure that all "description" properties in the index.json file as well as the contribution JSON files are filled in with at least 1 sentence.
- Update the "languages" property in the "index.json" file. In this instance, "languages" refers to the programming language(s) used in the challenge. For example: "p5.js", "JavaScript", "Processing", or "node.js".
- Update the "topics" property in the "index.json" file. If any tags were present on the YouTube page of the challenge, those would have been brought over by the web scraper and included as "topics". The tags from YouTube are pretty generic and overall too much information. Only a handful of topics are needed, so only include topics that are relevant to this specific video. If no tags were present on the YouTube page, then this may be blank - go ahead and add a couple of topics!
- Use the Description on the YouTube video for additional links to add as "References" or "Videos" in the "groupLinks" property in the "index.json" file. Also, add in links to Wikipedia about whatever concept is being discussed, or links to p5.js or Processing documentation about any special functions that are used in the video, or links to whatever other resource may help to further explain a concept.
@@ -378,7 +378,7 @@ from GitHub.
## Troubleshooting
Sometimes, things don't work like they should. If you get stuck, don't worry!
-Feel free to ask for help at any time, file an issue or come say hello in the [Coding Train Discord](https://thecodingtrain.com/discord).
+Feel free to ask for help at any time, file an issue or come say hello in the [Coding Train Discord](/discord).
## Adding a New Event
diff --git a/content/pages/guides/passenger-showcase-guide.md b/content/pages/guides/passenger-showcase-guide.md
index a944e845b..9e40371cc 100644
--- a/content/pages/guides/passenger-showcase-guide.md
+++ b/content/pages/guides/passenger-showcase-guide.md
@@ -15,7 +15,7 @@ There are currently two ways to submit your work:
-If you have questions or need any help, come board the [Coding Train Discord](https://thecodingtrain.com/discord) or write to help@thecodingtrain.com. This guide is in progress, and will be updated as the showcase submission process changes.
+If you have questions or need any help, come board the [Coding Train Discord](/discord) or write to help@thecodingtrain.com. This guide is in progress, and will be updated as the showcase submission process changes.
## Finding the Video on GitHub
diff --git a/src/components/Footer.js b/src/components/Footer.js
index 0af8b6fe1..32086da39 100644
--- a/src/components/Footer.js
+++ b/src/components/Footer.js
@@ -47,14 +47,14 @@ const Footer = () => {