diff --git a/docs/FAQ.md b/docs/FAQ.md
new file mode 100644
index 0000000000..920d403bf8
--- /dev/null
+++ b/docs/FAQ.md
@@ -0,0 +1,100 @@
+### I am new to GitHub and Open Source, where should I start?
+
+Read our ["How to Contribute to Open Source Guide"](https://github.com/freeCodeCamp/how-to-contribute-to-open-source). It's a compresensive resource of first timer friendly projects and guidelines.
+
+### Can I translate freeCodeCamp's curriculum?
+
+We will be kicking-off the localization efforts on freeCodeCamp starting with the **Chinese** first.
+
+We intend to make the curriculum available in more languages, but can't commit to any deadlines yet. Several operational limits like staff, active contributors and server costs play a role in driving the internationalisation (i18n) efforts.
+
+We intend to start i18n efforts in these languages: Arabic, Portuguese, Russian and Spanish (in no particular order) after we have released the curriculum in Chinese.
+
+**Why are you focusing on Chinese curriculum first?**
+
+China is the largest demographic regions, in our non-native English speaking audience. Currently, we have hundreds of thousands of users using an old version of the platform. Focusing on the Chinese curriculum will give us an estimate of logistics involved in the i18n.
+
+We will focus on Latin America as the demographic region for Portuguese and Spanish.
+
+We do not have any plans for i18n to any other languages other than the above for the foreseeable future.
+
+We do not encourage you to work on i18n on the above languages. We may accept pull requests, without any expectation of any timelines on deployments.
+
+### How can I report a new bug?
+
+If you think you've found a bug, first read the ["Help I've Found a Bug"](https://forum.freecodecamp.org/t/how-to-report-a-bug/19543) article and follow its instructions.
+
+If you're confident it's a new bug, go ahead and create a new GitHub issue. Be sure to include as much information as possible so that we can reproduce the bug. We have a pre-defined issue template to help you through this.
+
+Please note that any issues that seek coding help on a challenge will be closed. The issue tracker is strictly for codebase related issues and discussions. Whenever in doubt, you should [seek assistance on the forum](https://forum.freecodecamp.org) before making a report.
+
+### How can I report a security issue?
+
+Please don't create GitHub issues for security issues. Instead, please send an email to `security@freecodecamp.org` and we'll look into it immediately.
+
+### I am a student, can I or our team work on a feature for academic credits?
+
+Yes, sure.
+
+While, we are open to all contributions, please note we are unable to commit to any timelines that may be a requirement at your college or university. We receive many pull-requests and code contributions by volunteer developers, and we respect their time and efforts. We will not be able to give any PR any special attention to be fair to all.
+
+We request you to plan ahead and work on a feature with this in mind.
+
+### What do these different labels that are tagged on issues mean?
+
+The code maintainers [triage](https://en.wikipedia.org/wiki/Software_bug#Bug_management) issues and pull requests based on their priority, severity, and other factors. You can [find a complete glossary of their meanings here](https://github.com/freecodecamp/freecodecamp/labels).
+
+### Where do I start if I want to work on an issue?
+
+You should go through [**`help wanted`**](https://github.com/freeCodeCamp/freeCodeCamp/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) or [**`first timers only`**](https://github.com/freeCodeCamp/freeCodeCamp/issues?q=is%3Aopen+is%3Aissue+label%3A%22first+timers+only%22) issues for a quick overview of what is available for you to work on.
+
+> [!TIP] **`help wanted`** issues are up for grabs, and you do not need to seek permission before working on them. However, issues with the **`first timers only`** label are reserved for people that have not contributed to the freeCodeCamp codebase before. If these issues lack clarity on what needs to be done, feel free to ask questions in the comments.
+
+### I found a typo, should I report an issue before I can make a pull request?
+
+For typos and other wording changes, you can directly open pull requests without creating an issue first. Issues are more for discussing larger problems associated with code or structural aspects of the curriculum.
+
+However, please mention details, context etc. in the pull request's description area to help us understand and review your contribution even for minor changes.
+
+### How do I get an issue assigned to me?
+
+We typically do not assign issues to anyone other than long-time contributors to avoid ambiguous no-shows. Instead, we follow the below policy to be fair to everyone:
+
+1. The first pull request for any issue is preferred to be merged.
+2. In the case of multiple pull requests for the same issue, we give priority to the quality of the code in the pull requests.
+ - Did you include tests?
+ - Did you catch all usecases?
+ - Did you ensure all tests pass, and you confirmed everything works locally?
+3. Finally, we favor pull requests which follow our recommended guidelines.
+ - Did you follow the pull request checklist?
+ - Did you name your pull request title meaningfully?
+
+You do not need any permission for issues that are marked `help wanted` or `first timers only` as explained earlier.
+
+Follow the guidelines carefully and open a pull request.
+
+### I am stuck on something that is not included in this documentation.
+
+**Feel free to ask for help in:**
+
+- The "Contributors" category of [our community forum](https://forum.freecodecamp.org/c/contributors).
+- Our public contributors [chat room on Gitter](https://gitter.im/FreeCodeCamp/Contributors).
+
+We are excited to help you contribute to any of the topics that you would like to work on. Feel free to ask us questions on the related issue threads, and we will be glad to clarify. Make sure you search for your query before posting a new one.
+
+Be polite and patient. Our community of volunteers and moderators are always around to guide you through your queries.
+
+**Additional Assistance:**
+
+If you have queries about the stack, architecture of the codebase, feel free to reach out to our staff dev team:
+
+| Staff | Send message on Forum |
+| :-------------------- | :--------------------------------------------------------------------------- |
+| Mrugesh Mohapatra | [@raisedadead](https://forum.freecodecamp.org/u/raisedadead) |
+| Ahmad Abdolsaheb | [@abdolsa](https://forum.freecodecamp.org/u/abdolsa) |
+| Kristofer Koishigawa | [@scissorsneedfoodtoo](https://forum.freecodecamp.org/u/scissorsneedfoodtoo) |
+| Tom Mondloc | [@moT01](https://forum.freecodecamp.org/u/moT01) |
+| Oliver Eyton-Williams | [@ojeytonwilliams](https://forum.freecodecamp.org/u/ojeytonwilliams) |
+| Randell Dawson | [@RandellDawson](https://forum.freecodecamp.org/u/randelldawson) |
+
+**You can email our developer staff at: `dev[at]freecodecamp.org`**
diff --git a/docs/_coverpage.md b/docs/_coverpage.md
index 9901f7fbe6..e2404f07ac 100644
--- a/docs/_coverpage.md
+++ b/docs/_coverpage.md
@@ -4,9 +4,9 @@
## Here are some quick and fun ways you can help the community.
-- [Help by answering coding questions](https://forum.freecodecamp.org/c/help?max_posts=1) on our community forum.
-- [Give feedback on coding projects](https://forum.freecodecamp.org/c/project-feedback?max_posts=1) built by campers.
-- [Help us add subtitles (closed captions)](https://www.youtube.com/timedtext_cs_panel?c=UC8butISFwT-Wl7EV0hUK0BQ&tab=2) to our YouTube channel videos.
-- [Contribute to our open source codebase](/index?id=our-open-source-codebase) on GitHub.
+- [Help by answering coding questions](https://forum.freecodecamp.org/c/help?max_posts=1) on our community forum.
+- [Give feedback on coding projects](https://forum.freecodecamp.org/c/project-feedback?max_posts=1) built by campers.
+- [Help us add subtitles (closed captions)](https://www.youtube.com/timedtext_cs_panel?c=UC8butISFwT-Wl7EV0hUK0BQ&tab=2) to our YouTube channel videos.
+- [Contribute to our open source codebase](/index?id=our-open-source-codebase) on GitHub.
[Read our contributing guidelines](/index.md)
diff --git a/docs/_sidebar.md b/docs/_sidebar.md
index 7784a758de..49efa30ca1 100644
--- a/docs/_sidebar.md
+++ b/docs/_sidebar.md
@@ -1,18 +1,27 @@
-- ** Getting Started**
+- **Getting Started**
- [Introduction](/index.md 'Contribute to the freeCodeCamp.org Community')
-- ** Code Contribution**
- - [Work on coding challenges](/how-to-work-on-coding-challenges.md)
- - [Help with video challenges](/how-to-help-with-video-challenges.md)
- - [Set up freeCodeCamp locally](/how-to-setup-freecodecamp-locally.md)
+ - [Frequently Asked Questions](/FAQ.md)
+- **Code Contribution**
+- - [Set up freeCodeCamp locally](/how-to-setup-freecodecamp-locally.md)
- [Open a pull request](/how-to-open-a-pull-request.md)
+ - [Work on coding challenges](/how-to-work-on-coding-challenges.md)
+ - [Work on video challenges](/how-to-help-with-video-challenges.md)
- [Work on the news theme](/how-to-work-on-the-news-theme.md)
- [Work on the docs theme](/how-to-work-on-the-docs-theme.md)
+- **Optional Guides**
- [Catch outgoing emails locally](/how-to-catch-outgoing-emails-locally.md)
- - [Set up WSL](/how-to-setup-wsl.md)
+ - [Set up freeCodeCamp on WSL](/how-to-setup-wsl.md)
---
-- ** Flight Manuals** (for Staff & Mods)
+- **中文社区贡献指南**
+ - [成为专栏作者](/i18n/chinese/news-author-application.md)
+ - [文章翻译计划](/i18n/chinese/news-translations.md)
+ - [视频翻译计划](/i18n/chinese/video-translations.md)
+
+---
+
+- **Flight Manuals** (for Staff & Mods)
- [Moderator Handbook](/flight-manuals/moderator-handbook.md)
- [Reply Templates](/flight-manuals/using-reply-templates.md)
- [DevOps Overview](/devops.md)
@@ -20,14 +29,7 @@
---
-- ** 中文社区贡献指南**
- - [成为专栏作者](/chinese-guides/news-author-application.md)
- - [文章翻译计划](/chinese-guides/news-translations.md)
- - [视频翻译计划](/chinese-guides/video-translations.md)
-
----
-
-- ** Our Community**
- - [** GitHub Repository**](https://github.com/freecodecamp/freecodecamp)
- - [** Contributors category on Forum**](https://freecodecamp.org/forum/c/contributors)
- - [** Contributors chat room on Gitter**](https://gitter.im/FreeCodeCamp/Contributors)
+- **Our Community**
+ - [**GitHub**](https://github.com/freecodecamp/freecodecamp)
+ - [**Discourse Forum**](https://freecodecamp.org/forum/c/contributors)
+ - [**Gitter Chat**](https://gitter.im/FreeCodeCamp/Contributors)
diff --git a/docs/how-to-catch-outgoing-emails-locally.md b/docs/how-to-catch-outgoing-emails-locally.md
index d32df53ea2..397ea3382a 100644
--- a/docs/how-to-catch-outgoing-emails-locally.md
+++ b/docs/how-to-catch-outgoing-emails-locally.md
@@ -1,5 +1,3 @@
-# Catch outgoing emails locally for email workflows
-
> **Note:** This is an **optional** step and is required only when working with email workflows
## Introduction
@@ -10,9 +8,13 @@ Some email workflows, like updating a user's email, requires the back-end api-se
MailHog can be installed on macOS, Windows and Linux.
-- [Installing MailHog on macOS](#installing-mailhog-on-macos)
-- [Installing MailHog on Windows](#installing-mailhog-on-windows)
-- [Installing MailHog on Linux](#installing-mailhog-on-linux)
+- [Introduction](#introduction)
+- [Installing MailHog](#installing-mailhog)
+ - [Installing MailHog on macOS](#installing-mailhog-on-macos)
+ - [Installing MailHog on Windows](#installing-mailhog-on-windows)
+ - [Installing MailHog on Linux](#installing-mailhog-on-linux)
+- [Using MailHog](#using-mailhog)
+- [Useful Links](#useful-links)
### Installing MailHog on macOS
diff --git a/docs/how-to-setup-freecodecamp-locally.md b/docs/how-to-setup-freecodecamp-locally.md
index 783eb6059c..f3428aa280 100644
--- a/docs/how-to-setup-freecodecamp-locally.md
+++ b/docs/how-to-setup-freecodecamp-locally.md
@@ -1,9 +1,64 @@
-# How to set up freeCodeCamp locally
-
Follow these guidelines for setting up freeCodeCamp locally on your system. This is highly recommended if you want to contribute regularly.
For some of the contribution workflows, you need to have freeCodeCamp running locally. For example, previewing coding challenges or debugging and fixing bugs in the codebase.
+> [!TIP]
+> If you are not interested in setting up freeCodeCamp locally consider using Gitpod, a free online dev environment.
+>
+> [](https://gitpod.io/#https://github.com/freeCodeCamp/freeCodeCamp)
+>
+> (Starts a ready-to-code dev environment for freeCodeCamp in your browser.)
+
+## Prepare your local machine
+
+Start by installing the prerequisite software for your operating system.
+
+We primarily support development on **\*nix** systems. Our staff and community contributors regularly work with the codebase using tools installed on Ubuntu and macOS.
+
+We also support Windows 10 via WSL2, which you can prepare by [reading this guide](/how-to-setup-wsl).
+
+Some community members also develop on Windows 10 natively with Git for Windows (Git Bash), and other tools installed on Windows. We do not have official support for such a setup at this time, we recommend using WSL2 instead.
+
+**Prerequisites:**
+
+| Prerequisite | Version | Notes |
+| ----------------------------- | ------- | -------------------------------------------------------------------- |
+| [Node.js](http://nodejs.org) | `12.x` | [LTS Schedule](https://github.com/nodejs/Release#release-schedule) |
+| npm (comes bundled with Node) | `6.x` | Does not have LTS releases, we use the version bundled with Node LTS |
+| [MongoDB Community Server](https://docs.mongodb.com/manual/administration/install-community/) | `3.6` | [Release Notes](https://docs.mongodb.com/manual/release-notes/), Note: We are currently on `3.6`, an [upgrade is planned](https://github.com/freeCodeCamp/freeCodeCamp/issues/18275). |
+
+> [!DANGER]
+> If you have a different version, please install the recommended version. We can only support installation issues for recommended versions. See [troubleshooting](#troubleshooting) for details.
+
+If Node.js is already installed on your machine, run the following commands to validate the versions:
+
+```console
+node -v
+npm -v
+```
+
+> [!TIP]
+> We highly recommend updating to the latest stable releases of the software listed above, also known as Long Term Support (LTS) releases.
+
+Once you have the prerequisites installed, you need to prepare your development environment. This is common for many development workflows, and you will only need to do this once.
+
+**Follow these steps to get your development environment ready:**
+
+1. Install [Git](https://git-scm.com/) or your favorite Git client, if you haven't already. Update to the latest version; the version that came bundled with your OS may be outdated.
+
+2. (Optional but recommended) [Set up an SSH Key](https://help.github.com/articles/generating-an-ssh-key/) for GitHub.
+
+3. Install a code editor of your choice.
+
+ We highly recommend using [Visual Studio Code](https://code.visualstudio.com/) or [Atom](https://atom.io/). These are great, free and open source code editors.
+
+4. Set up linting for your code editor.
+
+ You should have [ESLint running in your editor](http://eslint.org/docs/user-guide/integrations.html), and it will highlight anything that doesn't conform to [freeCodeCamp's JavaScript Style Guide](http://forum.freecodecamp.org/t/free-code-camp-javascript-style-guide/19121).
+
+ > [!TIP]
+ > Please do not ignore any linting errors. They are meant to **help** you and to ensure a clean and simple codebase.
+
## Fork the repository on GitHub
[Forking](https://help.github.com/articles/about-forks/) is a step where you get your own copy of freeCodeCamp's main repository (a.k.a _repo_) on GitHub.
@@ -23,28 +78,13 @@ This is essential, as it allows you to work on your own copy of freeCodeCamp on
3. After the repository has been forked, you will be taken to your copy of the freeCodeCamp repository at `https://github.com/YOUR_USER_NAME/freeCodeCamp`
-
-
-## Prepare your local machine
-
-Once you have the prerequisites installed, you need to prepare your development environment. This is common for many development workflows, and you will only need to do this once.
-
-**Follow these steps to get your development environment ready:**
-
-1. Install [Git](https://git-scm.com/) or your favorite Git client, if you haven't already. Update to the latest version; the version that came bundled with your OS may be outdated.
-
-2. (Optional but recommended) [Set up an SSH Key](https://help.github.com/articles/generating-an-ssh-key/) for GitHub.
-
-3. Install a code editor of your choice.
-
- We highly recommend using [VS Code](https://code.visualstudio.com/) or [Atom](https://atom.io/). These are great, free and open source code editors.
-
-4. Set up linting for your code editor.
-
- You should have [ESLint running in your editor](http://eslint.org/docs/user-guide/integrations.html), and it will highlight anything that doesn't conform to [freeCodeCamp's JavaScript Style Guide](http://forum.freecodecamp.org/t/free-code-camp-javascript-style-guide/19121).
-
-> [!TIP]
-> Please do not ignore any linting errors. They are meant to **help** you and to ensure a clean and simple codebase.
+
+
+ How to fork freeCodeCamp on GitHub (screenshot)
+
+
+
+
## Clone your fork from GitHub
@@ -58,7 +98,7 @@ Run these commands on your local machine:
2. Clone your fork of freeCodeCamp, replacing `YOUR_USER_NAME` with your GitHub Username
- ```sh
+ ```console
git clone --depth=1 https://github.com/YOUR_USER_NAME/freeCodeCamp.git
```
@@ -70,38 +110,38 @@ Note: `--depth=1` creates a shallow clone of your fork, with only the most recen
Now that you have downloaded a copy of your fork, you will need to set up an `upstream` remote to the parent repository.
-[As mentioned earlier](#fork-the-repo-on-github), the main repository is referred `upstream` repository. Your fork referred to as the `origin` repository.
+[As mentioned earlier](#fork-the-repository-on-github), the main repository is referred `upstream` repository. Your fork referred to as the `origin` repository.
You need a reference from your local clone to the `upstream` repository in addition to the `origin` repository. This is so that you can sync changes from the main repository without the requirement of forking and cloning repeatedly.
1. Change directory to the new freeCodeCamp directory:
- ```sh
+ ```console
cd freeCodeCamp
```
2. Add a remote reference to the main freeCodeCamp repository:
- ```sh
+ ```console
git remote add upstream https://github.com/freeCodeCamp/freeCodeCamp.git
```
3. Ensure the configuration looks correct:
- ```sh
+ ```console
git remote -v
```
The output should look something like below:
- ```sh
+ ```console
origin https://github.com/YOUR_USER_NAME/freeCodeCamp.git (fetch)
origin https://github.com/YOUR_USER_NAME/freeCodeCamp.git (push)
upstream https://github.com/freeCodeCamp/freeCodeCamp.git (fetch)
upstream https://github.com/freeCodeCamp/freeCodeCamp.git (push)
```
-## Running freeCodeCamp locally on your machine
+## Running freeCodeCamp locally
Now that you have a local copy of freeCodeCamp, you can follow these instructions to run it locally. This will allow you to:
@@ -109,71 +149,24 @@ Now that you have a local copy of freeCodeCamp, you can follow these instruction
- Work on UI related issues and enhancements.
- Debug and fix issues with the application servers and client apps.
-> [!NOTE]
-> You can skip running freeCodeCamp locally if you are simply editing files, for instance, performing a `rebase`, or resolving `merge` conflicts.
+If you do run into issues, first perform a web search for your issue and see if it has already been answered. If you cannot find a solution, please search our [GitHub issues](https://github.com/freeCodeCamp/freeCodeCamp/issues) page for a solution and report the issue if it has not yet been reported.
+
+And as always, feel free to hop on to our [Contributors Chat room on Gitter](https://gitter.im/FreeCodeCamp/Contributors) or [our Discord server](https://discord.gg/6vJYm9V), for quick queries.
+
+> [!TIP]
+> You may skip running freeCodeCamp locally if you are simply editing files. For instance, performing a `rebase`, or resolving `merge` conflicts.
>
> You can always return to this part of the instructions later. You should **only** skip this step if you do not need to run the apps on your machine.
>
> [Skip to making changes](#making-changes-locally).
-There are currently two methods to run freeCodeCamp locally:
-
-- Docker (recommended)
-- Local
-
-You are required to follow any **one** of the above methods.
-
-The Docker setup will ideally result in fewer errors during the installation process and aims to have the best developer experience. We use Docker to install and run the additional software dependencies behind the scenes. This should make it a hassle-free and consistent experience across most device/OS types.
-
-If you are having issues using one method, try using the other. If you do run into issues with either method, first perform a web search for your issue and see if it has already been answered. If you cannot find a solution, please search our GitHub [issues](https://github.com/freeCodeCamp/freeCodeCamp/issues) page for a solution and report the issue if it has not yet been reported.
-
-And as always, feel free to hop on to our [Contributors Chat room](https://gitter.im/FreeCodeCamp/Contributors), for quick queries.
-
-### Install prerequisites
-
-Start by installing the prerequisite software:
-
-Software required for both Docker and Local builds:
-
-| Prerequisite | Version | Notes |
-| ----------------------------- | ------- | -------------------------------------------------------------------- |
-| [Node.js](http://nodejs.org) | `12.x` | [LTS Schedule](https://github.com/nodejs/Release#release-schedule) |
-| npm (comes bundled with Node) | `6.x` | Does not have LTS releases, we use the version bundled with Node LTS |
-
-If Node.js is already installed on your machine, run the following commands to validate the versions:
-
-```sh
-node -v
-npm -v
-```
-
-> [!DANGER]
-> If you have a different version, please install the recommended version. We can only support installation issues for recommended versions. See [troubleshooting](#troubleshooting) for details.
-
-**Docker Build additional prerequisite:**
-
-| Prerequisite | Version | Notes |
-| -------------------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------ |
-| [Docker CE](https://docs.docker.com/install/) | `Stable` | - |
-| [Docker Compose](https://docs.docker.com/compose/install/) | `Stable` | Must be installed separately if not using macOS or Windows |
-| [Docker Toolbox](https://docs.docker.com/toolbox/toolbox_install_windows/) | `v19.03.1` | If using Windows 10 Home, use this instead - instructions [here](how-to-use-docker-on-windows-home.md) |
-
-**Local Build additional prerequisite:**
-
-| Prerequisite | Version | Notes |
-| --------------------------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [MongoDB Community Server](https://docs.mongodb.com/manual/administration/install-community/) | `3.6` | [Release Notes](https://docs.mongodb.com/manual/release-notes/), Note: We are currently on `3.6`, an [upgrade is planned](https://github.com/freeCodeCamp/freeCodeCamp/issues/18275). |
-
-> [!TIP]
-> We highly recommend updating to the latest stable releases of the software listed above, also known as Long Term Support (LTS) releases.
-
### Configuring dependencies
#### Step 1: Set up the environment variable file
The default API keys and environment variables are stored in the file `sample.env`. This file needs to be copied to a new file named `.env` that is accessed dynamically during the installation step.
-```sh
+```console
# Create a copy of the "sample.env" and name it ".env".
# Populate it with the necessary API keys and secrets:
@@ -186,56 +179,35 @@ copy sample.env .env
The keys in the `.env` file are _not_ required to be changed to run the app locally. You can leave the default values copied over from `sample.env` as-is.
-Keep in mind if you want to use additional services, you'll have to acquire your own API keys for those services and edit the entries accordingly in the `.env` file.
-
-**Docker Build:** If using the Docker build and the Docker installation instructed you to use Docker Toolbox (applies to older versions of macOS and Windows), you need to change `DOCKER_HOST_LOCATION` in your `.env` file var to the output from the `docker-machine ip` command. If you use any Docker supported the flavor of Linux or if you use Docker Desktop (new versions of macOS and Windows 10) you can leave `DOCKER_HOST_LOCATION` to the default value.
+> [!TIP]
+> Keep in mind if you want to use services like Auth0 or Algolia, you'll have to acquire your own API keys for those services and edit the entries accordingly in the `.env` file.
#### Step 2: Install dependencies
This step will install the dependencies required for the application to run:
-**Docker Build:**
-
-```shell
-npm run docker:run-once
-```
-
-There is a lot to install, this step may take a few minutes.
-
-You will also need to install a few npm packages outside of Docker. You can skip this step if you are only running the app locally and will not use git.
-
-```shell
+```console
npm ci
```
-All of the above needs to be run only the first time you set up the local dev environment.
+#### Step 3: Start MongoDB and seed the database
-**Local Build:**
+Before you can run the application locally, you will need to start the MongoDB service.
-```sh
-# Install NPM dependencies
-npm ci
-```
-
-#### Step 3: Start MongoDB and seed the database (Local build only)
-
-This step applies to the Local build only; if you are using the Docker build please skip to Step 4.
-
-Unless you have MongoDB running in a setup different than the default, the URL stored as the `MONGOHQ_URL` value in the `.env` file should work fine. If you are using a custom configuration, modify this value as needed.
-
-Before you can run the application locally, you will need to start the MongoDB service:
+> [!NOTE]
+> Unless you have MongoDB running in a setup different than the default, the URL stored as the `MONGOHQ_URL` value in the `.env` file should work fine. If you are using a custom configuration, modify this value as needed.
Start the MongoDB server in a separate terminal:
- On macOS & Ubuntu:
- ```sh
+ ```console
mongod
```
- On Windows, you must specify the full path to the `mongod` binary
- ```sh
+ ```console
"C:\Program Files\MongoDB\Server\3.6\bin\mongod"
```
@@ -246,7 +218,7 @@ Start the MongoDB server in a separate terminal:
Next, let's seed the database. In this step, we run the below command that fills the MongoDB server with some initial data sets that are required by services. These include a few schemas, among other things.
-```sh
+```console
npm run seed
```
@@ -254,15 +226,7 @@ npm run seed
You can now start up the API server and the client applications.
-**Docker Build:**
-
-```shell
-npm run docker:develop
-```
-
-**Local Build:**
-
-```sh
+```console
npm run develop
```
@@ -274,7 +238,7 @@ This single command will fire up all the services, including the API server and
> [!TIP]
> The API Server serves APIs at `http://localhost:3000`. The Gatsby app serves the client application at `http://localhost:8000`
-If you visit you should see the available APIs.
+> If you visit you should see the available APIs.
## Sign in with a local user
@@ -282,45 +246,15 @@ Your local setup automatically populates a local user in the database. Clicking
However, accessing the user portfolio page is a little tricky. In development, Gatsby takes over serving the client-side pages and hence you will get a `404` page for the user portfolio when working locally.
-Simply clicking the `Preview Custom 404 Page` button will forward you to the correct page.
+Simply clicking the **"Preview Custom 404 Page"** button will forward you to the correct page.
-
-
-## Quick commands reference
-
-A quick reference to the commands that you will need when working locally.
-
-**Docker Build:**
-
-| command | description |
-| ----------------------------------------------------- | ----------------------------------------------------------------------------------- |
-| `npm run docker:init` | Prepare containers for installation of dependencies. |
-| `npm run docker:install` | Install / re-install all dependencies and bootstraps the different services. |
-| `npm run docker:seed` | Parse all the challenge markdown files and inserts them into MongoDB. |
-| `npm run docker:develop` | Start the freeCodeCamp API Server and Client Applications. |
-| `npm run docker:test:init` | Bootstrap the test container, necessary for testing in docker. |
-| `npm run docker:test -- -c "npm run test"` | Run all JS tests in the system, including client, server, lint and challenge tests. |
-| `npm run docker:test -- -c "npm run test:curriculum"` | Run the curriculum test suite. |
-| `npm run docker:test -- -c "npm run test:client"` | Run the client test suite. |
-| `npm run docker:test -- -c "npm run test:server"` | Run the server test suite. |
-| `npm run docker:clean` | Uninstall all dependencies and cleans up caches. |
-
-**Local Build:**
-
-| command | description |
-| -------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
-| `npm ci` | Installs / re-install all dependencies and bootstraps the different services. |
-| `npm run seed` | Parses all the challenge markdown files and inserts them into MongoDB. |
-| `npm run develop` | Starts the freeCodeCamp API Server and Client Applications. |
-| `npm test` | Run all JS tests in the system, including client, server, lint and challenge tests. |
-| `npm run test:client` | Run the client test suite. |
-| `npm run test:curriculum` | Run the curriculum test suite. |
-| `npm run test:curriculum --block='Basic HTML and HTML5'` | Test a specific Block. |
-| `npm run test:curriculum --superblock='responsive-web-design'` | Test a specific SuperBlock. |
-| `npm run test-curriculum-full-output` | Run the curriculum test suite, without bailing after the first error |
-| `npm run test:server` | Run the server test suite. |
-| `npm run e2e` | Run the Cypress end to end tests. |
-| `npm run clean` | Uninstalls all dependencies and cleans up caches. |
+
+
+ How to sign in when working locally (screenshot)
+
+
+
+
## Making changes locally
@@ -330,13 +264,13 @@ Follow these steps:
1. Validate that you are on the `master` branch:
- ```sh
+ ```console
git status
```
You should get an output like this:
- ```sh
+ ```console
On branch master
Your branch is up-to-date with 'origin/master'.
@@ -345,7 +279,7 @@ Follow these steps:
If you are not on master or your working directory is not clean, resolve any outstanding files/commits and checkout `master`:
- ```sh
+ ```console
git checkout master
```
@@ -360,25 +294,25 @@ Follow these steps:
Update your local copy of the freeCodeCamp upstream repository:
- ```sh
+ ```console
git fetch upstream
```
Hard reset your master branch with the freeCodeCamp master:
- ```sh
+ ```console
git reset --hard upstream/master
```
Push your master branch to your origin to have a clean history on your fork on GitHub:
- ```sh
+ ```console
git push origin master --force
```
You can validate your current master matches the upstream/master by performing a diff:
- ```sh
+ ```console
git diff upstream/master
```
@@ -390,7 +324,7 @@ Follow these steps:
Check that you are on `master` as explained previously, and branch off from there:
- ```sh
+ ```console
git checkout -b fix/update-guide-for-xyz
```
@@ -414,13 +348,13 @@ Follow these steps:
7. Check and confirm the files you are updating:
- ```sh
+ ```console
git status
```
This should show a list of `unstaged` files that you have edited.
- ```sh
+ ```console
On branch feat/documentation
Your branch is up to date with 'upstream/feat/documentation'.
@@ -439,25 +373,25 @@ Follow these steps:
In this step, you should only mark files that you have edited or added yourself. You can perform a reset and resolve files that you did not intend to change if needed.
- ```sh
+ ```console
git add path/to/my/changed/file.ext
```
Or you can add all the `unstaged` files to the staging area:
- ```sh
+ ```console
git add .
```
Only the files that were moved to the staging area will be added when you make a commit.
- ```sh
+ ```console
git status
```
Output:
- ```sh
+ ```console
On branch feat/documentation
Your branch is up to date with 'upstream/feat/documentation'.
@@ -472,7 +406,7 @@ Follow these steps:
Now, you can commit your changes with a short message like so:
- ```sh
+ ```console
git commit -m "fix: my short commit message"
```
@@ -504,7 +438,7 @@ Follow these steps:
9. If you realise that you need to edit a file or update the commit message after making a commit you can do so after editing the files with:
- ```sh
+ ```console
git commit --amend
```
@@ -512,7 +446,7 @@ Follow these steps:
10. Next, you can push your changes to your fork:
- ```sh
+ ```console
git push origin branch/name-here
```
@@ -520,49 +454,85 @@ Follow these steps:
After you've committed your changes, check here for [how to open a Pull Request](how-to-open-a-pull-request.md).
+## Quick commands reference
+
+A quick reference to the commands that you will need when working locally.
+
+| command | description |
+| -------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
+| `npm ci` | Installs / re-install all dependencies and bootstraps the different services. |
+| `npm run seed` | Parses all the challenge markdown files and inserts them into MongoDB. |
+| `npm run develop` | Starts the freeCodeCamp API Server and Client Applications. |
+| `npm test` | Run all JS tests in the system, including client, server, lint and challenge tests. |
+| `npm run test:client` | Run the client test suite. |
+| `npm run test:curriculum` | Run the curriculum test suite. |
+| `npm run test:curriculum --block='Basic HTML and HTML5'` | Test a specific Block. |
+| `npm run test:curriculum --superblock='responsive-web-design'` | Test a specific SuperBlock. |
+| `npm run test-curriculum-full-output` | Run the curriculum test suite, without bailing after the first error |
+| `npm run test:server` | Run the server test suite. |
+| `npm run e2e` | Run the Cypress end to end tests. |
+| `npm run clean` | Uninstalls all dependencies and cleans up caches. |
+
## Troubleshooting
### Issues with installing the recommended prerequisites
-We regularly develop on the latest or most popular operating systems like macOS 10.12 or later, Ubuntu 16.04 or later and Windows 10. It is recommended to research your specific issue on resources such as Google, Stack Overflow and Stack Exchange. There is a good chance that someone has faced the same issue and there is already an answer to your specific query.
+We regularly develop on the latest or most popular operating systems like macOS 10.15 or later, Ubuntu 18.04 or later and Windows 10 (with WSL2).
+
+It is recommended to research your specific issue on resources such as Google, Stack Overflow and Stack Exchange. There is a good chance that someone has faced the same issue and there is already an answer to your specific query.
If you are on a different OS and/or are still running into issues, see [getting help](#getting-help).
-**Please avoid creating GitHub issues for prerequisite issues. They are out of the scope of this project.**
+> [!WARNING]
+>
+> Please avoid creating GitHub issues for prerequisite issues. They are out of the scope of this project.
-### Issues with the UI, Fonts, etc.
+### Issues with the UI, Fonts, build errors etc.
-If the app launches but you are encountering UI errors such as fonts not being loaded or the code editor not displaying properly, see the following depending on your local setup:
+If you face issues with the UI, Fonts or see builds errors a cleanup can be useful:
-**Docker Build:**
-
-```sh
-# We use a mono repo and have multiple components (server, client, tools, plugins, etc.)
-# Use this command to clean up all dependencies in all of the components
-npm run docker:clean
-
-# Reinstall npm packages
-npm run docker:install
-
-# Seed the database
-npm run docker:seed
-
-# Restart the application
-npm run docker:develop
-```
-
-**Local Build:**
-
-```sh
+```console
npm run clean
npm ci
npm run seed
npm run develop
```
+OR
+
+Use the shortcut
+
+```
+npm run clean-and-develop
+```
+
+If you continue to face issues with the build, cleaning up the workspace is recommend.
+
+Use `git clean` in interative mode:
+
+```
+git clean -ifdX
+```
+
+
+
+ How to clean git untracked files (screenshot)
+
+
+
+
+
### Issues with API, Login, Challenge Submissions, etc.
-If you can't sign in, and instead you see a banner with an error message that it will be reported to freeCodeCamp, please double-check that your local port 3000 is not in use by a different program.
+If you can't sign in, and instead you see a banner with an error message that it will be reported to freeCodeCamp, please double-check that your local port `3000` is not in use by a different program.
+
+**On Linux / macOS / WSL on Windows - From Terminal:**
+
+```console
+netstat -ab | grep "3000"
+
+tcp4 0 0 0.0.0.0:3000 DESKTOP LISTEN
+```
**On Windows - From Elevated PowerShell:**
@@ -572,15 +542,11 @@ netstat -ab | Select-String "3000"
TCP 0.0.0.0:3000 DESKTOP LISTENING
```
-**On Linux/macOS - From Terminal:**
+### Issues installing dependencies
-```sh
-netstat -ab | grep "3000"
+If you get errors while installing the dependencies, please make sure that you are not in a restricted network or your firewall settings do not prevent you from accessing resources.
-tcp4 0 0 0.0.0.0:3000 DESKTOP LISTEN
-```
-
-If you get errors while installing the dependencies, please make sure that you are not in a restricted network or your firewall settings do not prevent you from accessing resources. One solution would be to use a VPN service if possible and allowed in your environment.
+The first time setup can take a while depending on your network bandwidth. Be patient, and if you are still stuck we recommed using GitPod instead of an offline setup.
## Getting Help
diff --git a/docs/how-to-setup-wsl.md b/docs/how-to-setup-wsl.md
index c79890e76f..c03eaec40d 100644
--- a/docs/how-to-setup-wsl.md
+++ b/docs/how-to-setup-wsl.md
@@ -1,240 +1,130 @@
-# Setting up WSL for Working with freeCodeCamp Locally
+# Set up freeCodeCamp on Windows Subsystem for Linux (WSL)
> [!NOTE]
-> Requirements:
->
-> **WSL 1**: Windows 10 64-bit, version 1607
->
-> **WSL 2**: Windows 10 64-bit, version 2004, Build 19041 or higher
+> Before you follow these instructions make sure your system meets the requirements
+>
+> **WSL 2**: Windows 10 64-bit (Version 2004, Build 19041 or higher) - available for all distributions including Windows 10 Home.
+>
+> **Docker Desktop for Windows**: See respective requirements for [Windows 10 Pro](https://docs.docker.com/docker-for-windows/install/#system-requirements) and [Windows 10 Home](https://docs.docker.com/docker-for-windows/install-windows-home/#system-requirements)
-Follow these guidelines for setting up WSL to set up freeCodeCamp locally.
+This guide covers some common steps with the setup of WSL2. Once some of the common issues with WSL2 are addressed, you should be able to follow the our local setup guide to work with freeCodeCamp on Windows running a WSL distro like Ubuntu.
-This guide covers some common issues encountered with the setup of WSL.
+## Enable WSL
-## Enable WSL & Download a Distro
+Follow the instructions on the [official documentation](https://docs.microsoft.com/en-us/windows/wsl/install-win10) to install WSL1 and followed by upgrading to WSL2.
-1) Follow the instructions given in the documentation by Microsoft to install WSL2 (Recommended Distro: Ubuntu18.04):
-[Installing WSL2](https://docs.microsoft.com/en-us/windows/nodejs/setup-on-wsl2#install-windows-10-insider-preview-build)
+## Install Ubuntu
-> [!NOTE]
-> You can download a different distro, but the setup might differ.
+1. We recommended using Ubuntu-18.04 or above with WSL2.
-2) On the same page, ensure to follow the instructions about installing Nodejs and NPM through the NVM.
+ > [!NOTE]
+ >
+ > While you may use other non-debian based distros, they all come with their own gotchas and are beyond the scope of this guide.
-**NOTE:** If you encounter errors on step 2, skip to the next step, and return when prompted
+2. Update the dependencies for the OS
-## Setting Up Git
+ ```console
+ sudo apt update
+ sudo apt upgrade -y
-It is likely you will be unable to clone your fork of freeCodeCamp, without running these steps, but there is no harm in trying. Just follow the instructions on [the Contributors Site](https://contribute.freecodecamp.org/#/how-to-setup-freecodecamp-locally).
+ # cleanup
+ sudo apt autoremove -y
+ ```
-If you run into any issues related to Git, follow through with one of the following alternatives. If that does not resolve the issue, try the next alternative:
+## Set up Git
-### ALTERNATIVE 1 - Use apt-get to Install the Latest Version of Git
+Git comes pre-installed with Ubuntu 18.04, verify that your Git version with `git --version`.
-1) Update your distribution:
-
-```sh
-sudo apt update && sudo apt upgrade
+```output
+~
+❯ git --version
+git version 2.25.1
```
-2) Download and install Git:
+(Optional but recommended) You can now proceed to [setting up your ssh keys](https://help.github.com/articles/generating-an-ssh-key) with GitHub.
-```sh
-sudo apt install git
+## Installing a Code Editor
+
+We highly recommend installing [Visual Studio Code](https://code.visualstudio.com) on Windows 10. It has great support for WSL and automatically installs all the necessary extensions on your WSL distro.
+
+Essentially, you will edit and store your code on Ubuntu-18.04 with VS Code installed on Windows.
+
+## Installing Docker Desktop
+
+**Docker Desktop for Windows** allows you to install and run database and services like MongoDB, NGINX, etc. This is useful to avoid common pitfalls with installing MongoDB or other services directly on Windows or WSL2.
+
+Follow the instructuction on the [official documentation](https://docs.docker.com/docker-for-windows/install) and install Docker Desktop for your Windows distribution.
+
+There are some minimum hardware requirements for the best experience.
+
+## Configure Docker Desktop for WSL
+
+Once Docker Desktop is installed, [follow these instructions](https://docs.docker.com/docker-for-windows/wsl) and configure it to use the Ubuntu-18.04 installation as a backend.
+
+This makes it so that the containers run on WSL side instead of running on Windows. You will be able to access the services over `http://localhost` on both Windows and Ubuntu.
+
+## Install MongoDB from Docker Hub
+
+Once you have configured Docker Desktop to work with WSL2, follow these steps to start a MongoDB service:
+
+1. Launch a new Ubuntu-18.04 terminal
+
+2. Pull `MongoDB 3.6` from dockerhub
+
+ ```console
+ docker pull mongo:3
+ ```
+
+3. Start the MongoDB service at port `27017`, and configure it to run automatically on system restarts
+
+ ```console
+ docker run -it \
+ -v mongodata:/data/db \
+ -p 27017:27017 \
+ --name mongodb \
+ --restart unless-stopped \
+ -d mongo:3
+ ```
+
+4. You can now access the service from both Windows or Ubuntu at `mongodb://localhost:27017`.
+
+## Installing Node.js and npm
+
+We recommend you install the LTS release for Node.js with a node version manager - [nvm](https://github.com/nvm-sh/nvm#installing-and-updating).
+
+Once installed use these commands to install and use the Node.js version as needed
+
+```console
+nvm install --lts
+
+# OR
+# nvm install
+
+nvm install 14
+
+# Usage
+# nvm use
+
+nvm use 12
```
-3) Verify the installed version:
+Node.js comes bundled with `npm`, you can update to the latest versions of `npm` with:
-```sh
-git --version
+```console
+npm install -g npm@latest
```
-### ALTERNATIVE 2 - Use SSH to Work on Your Fork
+## Set up freeCodeCamp locally
-1) Follow the instructions on [GitHub](https://help.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh) to generate a new SSH key, and add it to your account.
+Now that you have installed the pre-requisites, follow [our local setup guide](https://contribute.freecodecamp.org/#/how-to-setup-freecodecamp-locally) to clone, install and setup freeCodeCamp locally on your machine.
-2) If you encounter an error similar to this, perform the rest of this alternative:
+> [!WARNING]
+>
+> Please note, at this time the set up for Cypress tests (and related GUI needs) are a work in progress. You should still be able to work on most of the codebase.
- >ssh: connect to host `github.com` port 22: Connection refused
+## Useful Links
-3) `cd` into the `.ssh` folder, and create a config file:
-
-```sh
-cd ~/.ssh && touch config
-```
-
-4) Open the file with your favourite text editor:
-
-Open VS Code: `code .`
-
-Alternatively, open the folder in the explorer, and use the Windows built-in text editor: `explorer.exe .`
-
-> [!NOTE]
-> This command works for VS Code, and you might be asked to install an extension for this to work
-
-5) Add this to the config file to allow GitHub's domain through your firewall:
-
-```
-# GitHub Account
-Host github.com
- HostName ssh.github.com
- Port 443
- PreferredAuthentications publickey
- IdentityFile ./id_rsa.pub
-```
-
-> [!DANGER]
-> Provided you have not deviated from the default setup, the `IdentityFile` will be as above.
-
-6) Return to the GitHub SSH setup to test your connection
-
-### ALTERNATIVE 3 - Last Resort
-
-1) Install build-essential, fakeroot and dpkg-dev using the following command:
-
-```sh
-sudo apt-get install build-essential fakeroot dpkg-dev
-```
-
-2) Create a directory named git-rectify in the home folder using the following command:
-
-```sh
-mkdir ~/git-rectify
-```
-
-3) Change directory to the `get-rectify` directory and get the git source files:
-
-```sh
-cd ~/git-rectify
-```
-
-4) This command creates a copy of your `sources.list` file, for safe keeping.
-
-```sh
-sudo cp /etc/apt/sources.list /etc/apt/sources.list~
-```
-
-> [!NOTE]
-> If you encounter any errors with the directory not existing, or the file being copied to already existing, follow this step:
-
- - Enter the directory
-
-```sh
-cd ~/git-rectify/etc/apt
-```
-
- - Open your file explorer
-
-```sh
-explorer.exe .
-```
-
- - Manually create a copy of the `sources.list` file, and save it with a different name.
- - Change directory back to `git-rectify`
-
-```sh
-cd ../..
-```
-
-Continue from these steps:
-
-5) Now, you need to uncomment the sources in the ../ file
-
-```sh
-sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
-```
-
-6) Get the source files from the list:
-
-```sh
-apt-get source git
-```
-
-7) Install all the git dependencies:
-
-```sh
-sudo apt-get build-dep git
-```
-
-8) Install libcurl with all development files:
-
-```sh
-sudo apt-get install libcurl4-openssl-dev
-```
-
-9) Unpack all the source packages using the following command:
-
-> [!NOTE]
-> The name `git_2.17.1-1ubuntu0.1` could vary based on the latest version. So look into the directory for the correct version name.
-
-```sh
-dpkg-source -x git_2.17.1-1ubuntu0.1
-```
-
-10) Change directory in to `git_2.17.1` folder and open the control file located inside debian folder (git_2.17.1/debian/control) in a text editor. Replace all the occurrences of _“libcurl4-gnutls-dev”_ to _“libcurl4-openssl-dev”_.
-
-11) Also open _“debian/rules”_ file and delete the line _“TEST=test”_
-
-12) Build the package files using the following command.
-
-```sh
-sudo dpkg-buildpackage -rfakeroot -b
-```
-
-13) Install the package:
-
-```sh
-sudo dpkg -i git_2.17.1_amd64.deb
-```
-
----
-
-## Setup MongoDB on WSL
-
-> [!NOTE]
-> Remember to return to **step 2** of [Enabling WSL](#enable-wsl-amp-download-a-distro), if you skipped it.
-
-You might find that setting up MongoDB Server on Windows to be the easiest, but connecting to the server from WSL might lead to permission denied errors.
-
-1) Follow the instructions on the [Microsoft Documentation](https://docs.microsoft.com/en-us/windows/nodejs/databases) for setting up MongoDB on WSL.
-
-If you encounter any errors similar to this:
->NonExistentPath: Data directory /data/db not found.
-
-Follow these steps:
-
-2) Create the path for the database:
-
-```sh
-sudo mkdir -p /data/db
-```
-
-3) Try to start the server again. If you encounter a `permission denied` error, start the server with:
-
-```sh
-sudo mongod
-```
-
-If you encounter another `path` error, manually tell MongoDB where to store the database:
-
-```sh
-mongod --dbpath=data/db
-```
-
-> [!NOTE]
-> The path `data/db` must exist beforehand.
-
-## Other Possible Issues
-
-> ERR! build error gyp ERR! stack Error: not found: make
-
-- Install missing dependencies
-
-```sh
-sudo apt-get install -yq /
-gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 /
-libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 /
-libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1libxcursor1 /
-libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates /
-fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
-```
+- [A WSL2 Dev Setup with Ubuntu 20.04, Node.js, MongoDB, VS Code and Docker](https://devlog.sh/wsl2-dev-setup-with-ubuntu-nodejs-mongodb-and-docker) - an article by Mrugesh Mohapatra (Staff Developer at freeCodeCamp.org)
+- Frequently asked questions on:
+ - [Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/faq)
+ - [Docker Desktop for Windows](https://docs.docker.com/docker-for-windows/faqs)
diff --git a/docs/how-to-work-on-the-docs-theme.md b/docs/how-to-work-on-the-docs-theme.md
index 78b4cb2f9c..ab14547576 100644
--- a/docs/how-to-work-on-the-docs-theme.md
+++ b/docs/how-to-work-on-the-docs-theme.md
@@ -1,13 +1,11 @@
# How to work on the docs theme
> [!NOTE]
-> **You do not need to setup anything locally for working on the documentation content.**
+> A quick reminder that you do not need to setup anything for working on the content for the documentation site.
>
> To work on the contributing guidelines, you can edit or add files in the `docs` directory [available here](https://github.com/freeCodeCamp/freeCodeCamp/tree/master/docs). When your changes are merged, it will be made available automatically at the documentation site.
-## About the documentation site
-
-While you do not need to generate the documentation site locally, sometimes it may be required for instance if you are working on the site theme or a feature for the site.
+## Structure of the docs website
The site is generated using [`docsify`](https://docsify.js.org), and served using GitHub pages.
@@ -16,8 +14,8 @@ Typically you would not need to change any configuration or build the site local
- The homepage's source for this site is available in [`docs/index.html`](index.html).
- We serve this file as a SPA using `docsify` and GitHub Pages.
- The `docsify` script generates the content of `markdown` files in `docs` directory on demand.
-- The homepage is generated from the [`index.md`](index.md).
-- the sidebar navigation is generated from [`components/sidebar.md`](components/sidebar.md).
+- The homepage is generated from the [`_coverpage.md`](_coverpage.md).
+- the sidebar navigation is generated from [`_sidebar.md`](_sidebar.md).
## Serving the documentation site locally
diff --git a/docs/i18n-languages/README.md b/docs/i18n-languages/README.md
deleted file mode 100644
index 019b73ed25..0000000000
--- a/docs/i18n-languages/README.md
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-> Documentation for other languages if available can be found in their respective directories.
->
-> **Note:** Translations may not be up-to-date with their [English versions](/docs).
-
diff --git a/docs/i18n-languages/arabic/CONTRIBUTING.md b/docs/i18n-languages/arabic/CONTRIBUTING.md
deleted file mode 100644
index e73ece6999..0000000000
--- a/docs/i18n-languages/arabic/CONTRIBUTING.md
+++ /dev/null
@@ -1,135 +0,0 @@
-
-| [Read these guidelines in other languages](/docs/i18n-languages) |
-|-|
-
-
-
-
-# قواعد المساهمة
-
-مرحبا! 👋
-
-إن مشروع freeCodeCamp.org هو مشروع قائم بسبب جهود الآلاف من المتطوعين الجيدين! نحن نشعر بالأمتنان لتطوعك, و نحن سعيدين بإنضمامك لنا!
-
-نحن نطبق بشدة [القواعد السلوكية](https://www.freecodecamp.org/code-of-conduct). أقرأ هذه المقالة جيدا, إنها مجرد 196 كلمة.
-
-🎉
-
-## بعض الطرق المساهمة
-
-1. [تطوع لهذا الcodebase](#تطوع-لهذا-الcodebase). ساعد في إعداد [مقالات الدليل](https://guide.freecodecamp.org/), [تحديات الcoding](https://learn.freecodecamp.org/), أو تشخيص المشاكل في برنامج التعليم.
-
-2. ساعد المخيمين (المستخدمين) على [المنتدى العام](https://forum.freecodecamp.org/). [أجب عن أسئلتهم](https://forum.freecodecamp.org/?max_posts=1) او [أعطهم رأيك على مشاريعهم](https://forum.freecodecamp.org/c/project-feedback?max_posts=1)
-
-3. ساعد في إضافة ترجمة إلى مقاطع الفيديو على [قناتنا على الYouTube](https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ/videos)
-
-## تطوع لهذا الcodebase
-
-لدينا codebase ضخمة جدا مفتوحة المصدر مؤلفة من الآلاف من [تحديات البرمجة](https://learn.freecodecamp.org) و [مقالات الدليل](https://guide.freecodecamp.org).
-
-يمكنك المساعدة عن طريق:
-
-- [📝 القيام بالأبحاث و كتابة و تحديث مقالات الدليل](#القيام-بالأبحاث-و-كتابة-و-تحديث-مقالات-الدليل)
-
-- [💻 إنشاء و تحديث و إصلاح الأخطاء في تحديات البرمجة](#إنشاء-و-تحديث-و-إصلاح-الأخطاء-في-تحديات-البرمجة)
-
-- [🌐 المساعدة في ترجمة مقالات الدليل و تحديات البرمجة](#المساعدة-في-ترجمة-مقالات-الدليل-و-تحديات-البرمجة)
-
-- [🛠 ساعد في إصلاح الأخطاء في برنامج تعليم freeCodeCamp.org](#ساعد-في-إصلاح-الأخطاء-في-برنامج-تعليم-freecodecamporg)
-
-### القيام بالأبحاث و كتابة و تحديث مقالات الدليل
-
-**ما هي مقالات الدليل؟**
-
-مقالات الدليل تساعد في الحصول على فهم سريع لفكرة تقنية معينة. المقالات هي عبارة عن شرح قصير و مكتوب بلغة سهلة و التي يمكنك قرائتها قبل البدء في شروحات اكثر تفصيلا.
-
-على سبيل المثال يمكنك أن تجد [مثالا عن ال HTML Elements هنا](./client/src/pages/html/elements/index.md)
-
-**عن ماذا يمكنني كتابة مقالة؟**
-
-نحن نرحب في مساعدتك لكتابة تلك المقالات. ليس عليك أن تكون خبيرا في الموضوع لكي تكتب مقالة - هذه المقالات مفتوحة المصدر, فمثلا لو كتبت شيئا خاطئا, أي متطوع آخر يمكنه اصلاح الخطأ في النهاية
-
-من أجل المساعدة, قم بإيجاد `stub article` على [موقع الدليل](https://www.freecodecamp.org/guide), أكتب المقالة, ثم أنشئ Pull Request لأستبدال ذلك بمقالتك. إن ال [Pull Requests](https://help.github.com/articles/about-pull-requests/) هو الطريقة التي ستقوم بأستعمالها لأقتراح التعديلات, فهي تسمح للآخرين بالأستعلام عن تعديلاتك و مراجعتها و اعتمادها.
-
-إذا لم تستطع أن تجد `stub article` حول الموضوع الذي تريد الكتابة عنه, يمكنك ان إنشاء Pull Request تقوم فيه بإنشاء `stub article` الذي يتضمن المسودة التي كتبتها.
-
-إذا كنت تريد المساعدة في تحسين مقالات الدليل, أقرا [هذه المقالة عن كيفية القيام ذلك](/docs/how-to-work-on-guide-articles.md).
-
-### إنشاء و تحديث و إصلاح الأخطاء في تحديات البرمجة
-
-كل التحديات هي مصنوعة من قبل عامة المجتمع, بشكل يضع خبرات عالية من اشخاص مثلك.
-
-يمكنك المساعدة في زيادة التوسع في التحديات و تعديلها بشكل تصبح أكثر وضوحا. يمكنك تعديل قصص المستخدمين لتجعل الفكرة أفضل, و حتى إزالة القصص المتكررة. يمكنك أيضا تحسين أختبارات التحديات لتجعلها قادرة على أختبار الcode بشكل أفضل و أكثر دقة.
-
-إذا كنت مهتم في تحسين تلك التحديات, أقرأ [هذه المقالة عن كيفية القيام بذلك](/docs/how-to-work-on-coding-challenges.md).
-
-### المساعدة في ترجمة مقالات الدليل و تحديات البرمجة
-
-يمكنك المساعدة في ترجمة مقالات الدليل و تحديات البرمجة إلى لغة يمكنك التكلم بها. حاليا لدينا إصدارات باللغات التالية:
-
-- [Chinese (中文)](https://github.com/freeCodeCamp/freeCodeCamp/tree/master/curriculum/challenges/chinese)
-- [Russian (русский)](https://github.com/freeCodeCamp/freeCodeCamp/tree/master/curriculum/challenges/russian)
-- [Arabic (عربي)](https://github.com/freeCodeCamp/freeCodeCamp/tree/master/curriculum/challenges/arabic)
-- [Spanish (Español)](https://github.com/freeCodeCamp/freeCodeCamp/tree/master/curriculum/challenges/spanish)
-- [Portuguese (Português)](https://github.com/freeCodeCamp/freeCodeCamp/tree/master/curriculum/challenges/portuguese)
-
-نحن نود أن تساعدنا في تحسين جودة هذه الترجمات. الملايين من الأشخاص يستعملون الموقع باللغة الأنكليزية, و نحن نتوقع الملايين الأخرى من المستخدمين أن تستعمل الموقع باللغات الأخرى أيضا.
-
-### ساعد في إصلاح الأخطاء في برنامج تعليم freeCodeCamp.org
-
-إن برنامجنا التعليمي يعمل على مجموعة برامج JavaScript حديثة. هناك الكثر من المكونات و الأدوات و المكتبات, منها Node.js و MongoDB و LoopBack و OAuth 2.0 و React و Gatsby و Webpack و المزيد ايضا.
-
-بشكل عام,
-
-- لدينا Node.js API server.
-- مجموعة من برامج المستخدم المبنية باستخدام React.
-- Script نستعمله من أجل تقييم برامج ال Front-end.
-
-المشاركة في هذا يتطلب بعض المفاهيم حول ال APIs و ES6 Syntax, و الكثير من الشغف.
-
-بشكل أساسي, نحن نتوقع معرفة بسيطة معينة حول التقنيات و الأدوات و المكتبات المذكورة سابقا. و مع ذلك, أنت ليس عليك أن تكون خبيرا بهم.
-
-يمكنك دوما الأستفسار عن أية أسئلة لديك على الissues المتعلقة بالموضوع و نحن سنكون سعيدين بإجابتنا لأستفسارك. في حال شعرت بالأرتياب حول موضوع ما, يمكنك التحدث مع [`@raisedadead`](https://github.com/raisedadead) أو [`@bouncey`](https://github.com/bouncey) من فريق المطورين لدينا لتقديم المساعدة لك.
-
-إذا كنت تريد المساعدة في تحسين الcodebase لدينا, أقرأ [كيف تقوم بتشغيل البرنامج محليا](/docs/how-to-setup-freecodecamp-locally.md).
-
-## أسئلة شائعة
-
-**كيف يمكنني أن أخبر عن مشكلة و التي هي ليست مطروحة؟**
-
-إذا كنت تظن أنك قد وجدت مشكلة, أقرأ اولا مقالة ["Help I've Found a Bug"](https://forum.freecodecamp.org/t/how-to-report-a-bug/19543) و تتبع الخطوات هناك.
-
-إذا كنت متيقنا أنها مشكلة جديدة, قم بإنشاء issue جديدة على GitHub. كن متأكدا انها تتضمن أكثر معلومات ممكنة حتى نتمكن من تجريب المشكلة لدينا. لدينا قالب مخصص ليساعدك في ذلك.
-
-ننوه إلى أن اي issue مفتوحة لأجل طلب المساعدة في تحدي برمجة سوف يتم إقفالها. ذلك لأن استخدام ال issues محصور في مشاكل و مناقشات الcodebase. قم [بطلب المساعدة على المنتدى](https://forum.freecodecamp.org) قبل التبليغ عن المشكلة إن كنت تشعر بالأرتياب.
-
-**كيف يمكنني أن أبلغ عن مشكلة أمنية؟**
-
-رجاء لا تقم بإنشاء issue على GitHub للمشاكل المتعلقة بالأمن. بدلا من ذلك أرسل إلى بريدنا الألكتروني `security@freecodecamp.org` و سنقوم بإلقاء نظرة مباشرة.
-
-**لدي مشكلة في شيئ ما ليس موجودا ضمن هذه المستندات. كيف يمكنني أن أجد المساعدة؟**
-
-يمكنك الأتسفسار عن أسئلتك عن طريق:
-
-- [فئة "Contributors" في المنتدى العام](https://forum.freecodecamp.org/c/contributors)
-- [المتطوعين على غرفة الدردشة في Gitter](https://gitter.im/FreeCodeCamp/Contributors)
-
-نحن متشوقين لمساعدتك في التطوع لأي من المواضيع التي تريد العمل عليها. كن متأكدا أن تقوم بالبحث على سؤالك قبل طرحه. كن مؤدبا و أنتظر الأجابة. إن المتطوعين و المسؤولين لدينا دائما موجودون لمسعادتك في أية مشكلة لديك.
-
-**أنا جديد على أستخدام GitHub و حتى على فكرة البرامج مفتوحة المصدر:**
-
-أقرأ عن [كيفية التطوع للبرامج المفتوحة المصدر](https://github.com/freeCodeCamp/how-to-contribute-to-open-source)
-
-**ماذا تعني مختلف الطوابع الموجودة على الissues؟**
-
-إن المسؤولين لدينا يقومون [بتنظيم](https://en.wikipedia.org/wiki/Software_bug#Bug_management) الissues و الPull Requests بحسب الأولوية و الخطورة و عوامل أخرى. يمكنك أن تجد [قاموس المطلحات هنا](https://github.com/freecodecamp/freecodecamp/labels).
-
-يجب أن تلق نظرة على الissues ذات الطوابع **`Help Wanted`** أو **`first timers only`** من أجل نظرة سريعة على ما هو متوفر و الذي يمكنك العمل عليه. يفضل أن تقوم بالعمل على تلك الissues قبل الأنتقال إلى ما بعد ذلك.
-
-إن كانت تلك الissues غير واضحة حول ما هو مطلوب فعله, يمكنك أن تسأل في قسم التعليقات على الissue.
-
-**لقد وجدت خطأ كتابي, هل علي أن أقوم بالتبليغ عنه قبل إنشاء Pull Request؟**
-
-من أجل أخطاء كتابية و مشاكل مشابهة يمكنك مباشرة أن تقوم بإنشاء Pull Request دون أن تقوم بإنشاء issue مسبقا. إن ال issues هي مخصصة بشكل أكثر للمشاكل الأكبر و المتعلقة بالcode او مشاكل بنيوية في المنهج.
-
-
diff --git a/docs/i18n-languages/arabic/devops.md b/docs/i18n-languages/arabic/devops.md
deleted file mode 100644
index e446613359..0000000000
--- a/docs/i18n-languages/arabic/devops.md
+++ /dev/null
@@ -1,245 +0,0 @@
-
-| [Read these guidelines in other languages](/docs/i18n-languages) |
-|-|
-
-
-
-
-# عمليات المطور في freeCodeCamp.org
-
-نشكرك على اهتمامك بمعرفة المزيد حول كيفية قيامنا بتطوير DevOps للنظام الأساسي في freeCodeCamp.org.
-
-سيساعدك هذا الدليل على فهم البنية التحتية الخاصة بنا وكيفية الحفاظ على الأنظمة الأساسية لدينا. على الرغم من أن هذا الدليل لا يحتوي على تفاصيل شاملة لجميع العمليات ، إلا أنه يمكن استخدامه كمرجع لفهمك للأنظمة.
-
-أخبرنا ، إذا كانت لديك ملاحظات أو استفسارات ، وسنكون سعداء للتوضيح.
-
-## كيف يمكننا بناء واختبار ونشر قاعدة البرمجة؟
-
-تم بناء قاعدة برمجتنا بشكل مستمر واختبارها ونشرها على مجموعات منفصلة من البنية التحتية (الخوادم وقواعد البيانات وشبكات CDN وغيرها) .
-
-يتضمن هذا ثلاث خطوات يجب اتباعها بالتسلسل:
-
-أولاً ، يتم دمج التغييرات الجديدة في فرع التطوير الأساسي (`master`) في شكل طلبات سحب. بعد ذلك ، يتم تشغيل هذه التغييرات من خلال سلسلة من الاختبارات الآلية. وأخيراً ، بمجرد اجتياز الاختبارات ، نقوم بإصدار التغييرات (أو تحديثها إذا لزم الأمر) لنشرها على بنيتنا الأساسية.
-
-### بناء قاعدة البرمجة - تعيين فروع Git على عمليات النشر.
-
-عادة ، يتم دمج [`master`] (https://github.com/freeCodeCamp/freeCodeCamp/tree/master) (فرع التطوير الافتراضي) في [`production-staging`] (https://github.com/freeCodeCamp/freeCodeCamp/tree/production-staging) فرع مرة واحدة في اليوم ، ويتم تحريرها في بنية تحتية معزولة.
-
-هذا هو الإصدار المتوسط للمطورين والمساهمين المتطوعين لدينا. المعروف أيضًا باسم تطبيق "التدريج / التجريبي".
-
-إنها مطابقة لبيئة الإنتاج المباشر الخاصة بنا على موقع freeCodeCamp.org ، بخلاف ذلك باستخدام مجموعة منفصلة من قواعد البيانات والخوادم ووكلاء الويب ، إلخ. تتيح لنا هذه العزلة اختبار التطوير المستمر والميزات في "سيناريو" مثل الإنتاج ، دون التأثير على المستخدمين المنتظمين للمنصات الرئيسية لـ freeCodeCamp.org.
-
-بمجرد أن يكون فريق المطور [`@ freeCodeCamp / dev-team`] (https://github.com/orgs/freeCodeCamp/teams/dev-team/members) سعيدًا بالتغييرات على التطبيق المرحلي ، يتم نقل هذه التغييرات كل بضعة أيام إلى فرع [`production-current`] (https://github.com/freeCodeCamp/freeCodeCamp/tree/production-current).
-
-هذا هو الإصدار النهائي الذي ينقل التغييرات إلى منصات الإنتاج لدينا على freeCodeCamp.org.
-
-### اختبار التغييرات - اختبار التكامل وقبول المستخدم.
-
-نحن نستخدم مستويات مختلفة من التكامل واختبار القبول للتحقق من جودة الكود. تتم جميع اختباراتنا من خلال برنامج مثل [Travis CI] (https://travis-ci.org/freeCodeCamp/freeCodeCamp) و [Azure Pipelines] (https://dev.azure.com/freeCodeCamp-org/freeCodeCamp).
-
-لدينا اختبارات وحدة لاختبار حلول التحدي لدينا ، واجهات برمجة تطبيقات الخادم وواجهات مستخدم العميل. هذه تساعدنا في اختبار التكامل بين المكونات المختلفة.
-
-> ملاحظة: نحن الآن بصدد كتابة اختبارات المستخدم النهائي التي ستساعد في تكرار سيناريوهات العالم الحقيقي مثل تحديث بريد إلكتروني أو إجراء مكالمة إلى API أو خدمات الجهات الخارجية.
-
-تساعد هذه الاختبارات معًا في منع تكرار المشكلات وتأكد من أننا لا نقدم خطأ أثناء العمل على خطأ آخر أو ميزة أخرى.
-
-### نشر التغييرات - دفع التغييرات إلى الخوادم.
-
-لقد قمنا بتكوين برنامج التسليم المستمر لدفع التغييرات إلى خوادم التطوير والإنتاج لدينا. بمجرد دفع التغييرات إلى فروع الإصدار المحمية ، ينبغي أن تؤدي هذه إلى إنشاء خطوط أنابيب الإنشاء والإفراج لدينا:
-
-يمكنك إلقاء نظرة وتصفح هذه هنا:
-
-| بناء خط أنابيب | الافراج عن خط أنابيب |
-| :------------- | :--------------- |
-| الإعداد لإنشاء القطع الأثرية لعمليات النشر. | الإعداد لنشر القطع الأثرية على الخوادم الوجهة الخاصة بهم. |
-| [الذهاب إلى المبنيات](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_build) | [الذهاب إلى الإصدارات](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_release) |
-
-يقوم خط أنابيب الإنشاء بتشغيل خط أنابيب التحرير بعد تعليق دام 5 دقائق حتى يتمكن موظفونا من الدخول والتدخل إذا لزم الأمر.
- /cofig/codeمتاح للجمهور على لوحة معلومات Azure's Dev. يقتصر الوصول إلى هذا على فريق موظفي freeCodeCamp.org.
-نوصي بعدم دفع أكثر من 3-4 بناءات إلى خطوط الأنابيب في غضون يوم واحد وليس أكثر من واحد خلال ساعة. وذلك لأن القطع الأثرية الخاصة بنا كبيرة جدًا وستضع عبئًا على خوادمنا عند النشر.
-
-## تشغيل بناء واختبار ونشر.
-
-حاليًا ، يمكن فقط للأعضاء في فريق المطورين الدفع إلى فروع الإنتاج. التغييرات على فروع الإنتاج - * يمكن أن تهبط فقط من خلال دمج التقديم السريع إلى [`upstream`] (https://github.com/freeCodeCamp/freeCodeCamp).
-
-> ملاحظة: في الأيام المقبلة ، سنحسن هذا التدفق الذي يتم عبر طلبات السحب ، لتحسين إدارة الوصول والشفافية.
-
-### دفع التغييرات إلى تطبيقات التدريج.
-
-1. تكوين أجهزة التحكم عن بعد بشكل صحيح.
-
- ```sh
- freeCodeCamp on master is 📦 v0.0.1 via ⬢ v10.16.0
- ❯ git remote -v
- origin git@github.com:raisedadead/freeCodeCamp.git (fetch)
- origin git@github.com:raisedadead/freeCodeCamp.git (push)
- upstream git@github.com:freeCodeCamp/freeCodeCamp.git (fetch)
- upstream git@github.com:freeCodeCamp/freeCodeCamp.git (push)
- ```
-
-2. تأكد من أن فرع "master" أصلي ومتزامن مع المنبع.
-
-
- ```sh
- git checkout master
- git fetch --all --prune
- git reset --hard upstream/master
- ```
-
-3. تحقق من أن Travis CI يمر على فرع "master" للتنقيب.
-
-يجب أن تكون اختبارات [التكامل المستمر] (https://travis-ci.org/freeCodeCamp/freeCodeCamp/branches) باللون الأخضر وأن يكون التمرير لفرع "master".
-
-
- Checking status on Travis CI (screenshot)
-
-
-
-
-
-إذا فشل هذا ، يجب عليك التوقف والتحقيق في الأخطاء.
-
-4. تأكد من أنك قادر على إنشاء مستودع محلي.
-
- ```
- npm run clean-and-develop
- ```
-
-5. قم بنقل التغييرات من "master" إلى "production-staging" عبر دمج سريع للأمام
-
-
- ```
- git checkout production-staging
- git merge master
- git push upstream
- ```
-
- لن تكون قادرًا على فرض الضغط ، وإذا قمت بإعادة كتابة السجل في أي حال ، فإن هذه الأوامر سوف تخطئ. إذا فعلوا ذلك ، فربما فعلت شيئًا غير صحيح ويجب أن تبدأ من جديد.
-
-وهذا كل شيء ، سيؤدي ذلك تلقائيًا إلى إنشاء خط أنابيب للبناء لفرع الإنتاج المرحلي. عادة ما يستغرق هذا ~ 20-25 دقيقة لجميع التطبيقات. بمجرد اكتمال الإنشاء ، سيتم حفظ القطع الأثرية كملفات ".zip" في مخزن بارد لاستردادها واستخدامها بواسطة خط أنابيب الإصدار.
-
-يتم تشغيل خط أنابيب الإطلاق تلقائيًا عند توفر قطعة أثرية جديدة من خط أنابيب الإنشاء المتصل. بالنسبة للتطبيقات المؤقتة ، يتم أتمتة هذا تمامًا ويتم دفع المصنوعات اليدوية إلى عميل CDN وخوادم API. يستغرق الأمر عادةً ما بين 15 إلى 20 دقيقة للعميل ، و 5 دقائق تقريبًا حتى تتوفر خوادم واجهة برمجة التطبيقات على الهواء مباشرة.
-
-هذا يجعل كل إصدار من كود الدفع إلى أن يكون متاحًا في التطبيقات المرحلية ~ 60 دقيقة.
-
-### دفع التغييرات إلى تطبيقات الإنتاج.
-
-العملية هي في الغالب نفس تطبيقات التدريج ، مع وجود عدد قليل من عمليات الفحص الإضافية في مكانها. هذا فقط للتأكد ، نحن لا نكسر أي شيء على freeCodeCamp.org والذي يمكنه رؤية مئات المستخدمين يستخدمونه في أي وقت.
-
-> #### لا تقم بتنفيذ هذه الأوامر حتى تتحقق من أن كل شيء يعمل على التطبيق المرحلي. يجب عليك عدم تجاوز أو تخطي أي اختبار على التدريج قبل المتابعة.
-
-1. تأكد من أن فرع "إنتاج المرحلة" الخاص بك أصلي ومتزامن مع المنبع.
-
- ```sh
- git checkout production-staging
- git fetch --all --prune
- git reset --hard upstream/production-staging
- ```
-
-2. انقل التغييرات من "الإنتاج المرحلي" إلى "الإنتاج الحالي" عبر دمج سريع للأمام
-
- ```
- git checkout production-current
- git merge production-staging
- git push upstream
- ```
-
- لن تتمكن من فرض الضغط ، وإذا قمت بإعادة كتابة السجل في أي حال ، فإن هذه الأوامر سوف تخطئ. إذا فعلوا ذلك ، فربما فعلت شيئًا غير صحيح ويجب أن تبدأ من جديد.
-
-وهذا كل شيء ، سيؤدي هذا تلقائيًا إلى إنشاء خط أنابيب للبناء لفرع الإنتاج الحالي. عادةً ما يستغرق هذا أيضًا حوالي 20 إلى 25 دقيقة لجميع التطبيقات كما هو موضح سابقًا.
-
-فيما يلي بعض الخطوات الإضافية التي يجب اتباعها بواسطة مطور freeCodeCamp.org للموظفين. لمنع أي دفعات عرضية ، لدينا بضع خطوات الموافقة اليدوية تكوينها على خطوط الأنابيب.
-
-بمجرد أن تصبح قطعة أثرية جاهزة على فرع "الإنتاج الحالي" ، فإنها ستطلق إصدارًا على خط أنابيب الإطلاق.
-
-بعد ذلك ، سيتلقى فريق موظفي مطور freeCodeCamp.org رسالة بريد إلكتروني. يمكنهم إما الموافقة * أو * رفض * الإصدار. إذا كانت التغييرات تعمل بشكل جيد وتم اختبارها على تطبيق التدريج ، فيمكن الموافقة عليها. يجب أن يحدث هذا خلال 4 ساعات من إطلاق الإصدار أو سيتم رفضه تلقائيًا. في حالة حدوث ذلك ، سيحتاج الموظف إلى إعادة تشغيل خط أنابيب الإصدار يدويًا.
-
-لاستخدام الموظفين:
-
-| الموافقة على الإصدار |
-| :-------------: |
-| تحقق من بريدك الإلكتروني للحصول على رابط مباشر أو [فتح لوحة القيادة الإفراج](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_release?_a=releases&view=mine&definitionId=6) |
-
-بمجرد موافقة أحد الأعضاء على الإصدار ، فإن خط الأنابيب سيدفع التغييرات مباشرة إلى خوادم CDN و API الخاصة بإنتاج freeCodeCamp.org. يستغرق الأمر عادةً ما بين 15 إلى 20 دقيقة للعميل ، و 5 دقائق تقريبًا حتى تتوفر خوادم واجهة برمجة التطبيقات على الهواء مباشرة.
-
-كخطوة أخيرة ، سيقوم أحد الموظفين أيضًا بالنقر فوق زر نشر النشر على لوحة معلومات نشر Netlify.
-
-لاستخدام الموظفين:
-
-| نشر أو الاستعادة على Netlify |
-| :----------------------------: |
-| [افتح عمليات نشر Netlify](https://app.netlify.com/sites/freecodecamp-org/deploys) |
-
-
-## بناء وحالة النشر
-
-فيما يلي حالة البناء والنشر الحالية لقاعدة البيانات.
-
-### بناء الحالة
-
-| منصة | اكتب | الحالة |
-| :-------------- | :--------- | :---------: |
-| Travis CI | Unit Tests | [](https://travis-ci.org/freeCodeCamp/freeCodeCamp) |
-| Azure Pipelines | Artifacts | [](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_build) |
-
-### Deployment Status
-
-| تطبيق | الإصدار | الحالة |
-| :----------- | :--------- | :---------: |
-| Client | Beta/Next | [](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_release) |
-| API | Beta/Next | [](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_release) |
-| Client | Production | [](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_release) |
-| API | Production | [](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_release) |
-
-## الوصول المبكر والاختبار التجريبي للإصدارات القادمة من منصة ومنهاج freeCodeCamp.org
-
-نرحب بكم لاختبار هذه الإصدارات في وضع ** "اختبار بيتا عام" ** والوصول المبكر إلى الميزات القادمة إلى الأنظمة الأساسية. في بعض الأحيان ، يشار إلى هذه الميزات / التغييرات باسم ** التالي ، التجريبي ، التدريج ، ** إلخ بالتبادل.
-
-ستساعدنا مساهماتك عبر الملاحظات وتقارير المشكلات في جعل منصات الإنتاج في "freeCodeCamp.org" أكثر ** مرونة ** و ** متسقة ** و ** مستقرة ** للجميع.
-
-نشكرك على الإبلاغ عن الأخطاء التي واجهتها وتساعد في جعل freeCodeCamp.org أفضل. انت صخرة!
-
-## تحديد الإصدار القادم من النظام الأساسي
-
-سيكون اسم المجال مختلفًا عن ** `freeCodeCamp.org` **. يتوفر إصدار اختبار بيتا العام الحالي حاليًا على
-
-
www.freecodecamp.dev
-
-لمنع الفهرسة العرضية على محركات البحث والمستخدمين الذين يستخدمون هذا الموقع عن طريق الخطأ (دون معرفة أنه موقع تطوير) ، يتم إغلاقهم بكلمة مرور بسيطة:
-
-
freecodecamp-is-awesome
-
-## تحديد الإصدار الحالي من النظام الأساسي
-
-** الإصدار الحالي من النظام الأساسي متاح دائمًا على [`freeCodeCamp.org`](https://www.freecodecamp.org).**
-
-يدمج فريق التطوير التغييرات من فرع "الإنتاج المرحلي" إلى "الإنتاج الحالي" عند إصدار التغييرات. يجب أن يكون الالتزام العلوي هو ما تراه مباشرًا على الموقع. يمكنك تحديد الإصدار الدقيق الذي تم نشره عن طريق زيارة سجلات الإنشاء والنشر المتوفرة أدناه في قسم الحالة.
-
-## القيود المعروفة
-
-ستكون هناك بعض القيود والمفاضلات المعروفة عند استخدام الإصدار التجريبي من النظام الأساسي.
-
-- #### جميع البيانات / التقدم الشخصي في هذه التطبيقات التجريبية `لن يتم حفظها أو ترحيلها` إلى الإنتاج.
-
- ** سيكون لدى المستخدمين في الإصدار التجريبي حساب منفصل عن الإنتاج. ** تستخدم النسخة التجريبية قاعدة بيانات منفصلة فعليًا عن الإنتاج. هذا يعطينا القدرة على منع أي فقدان عرضي للبيانات أو التعديلات. قد يقوم فريق ديف بتطهير قاعدة البيانات على هذا الإصدار التجريبي حسب الحاجة.
-
-- #### لا توجد ضمانات على الجهوزية وموثوقية تطبيقات بيتا.
-
- من المتوقع أن يكون النشر متكررًا وبتكرار سريع ، وأحيانًا عدة مرات في اليوم. نتيجة لذلك ، ستكون هناك أوقات توقف غير متوقعة في بعض الأحيان أو وظائف معطلة في الإصدار التجريبي.
-
-- #### لا ترسل مستخدمين منتظمين إلى هذا الموقع كإجراء لتأكيد الإصلاح
-
- إن موقع الإصدار التجريبي كان ولا يزال يعمل على زيادة التطوير والاختبار المحليين ، ولا شيء آخر. إنه ليس وعدًا بما سيحدث ، بل لمحة عما يجري العمل عليه.
-
-- #### تسجيل الدخول والمصادقة متاح فقط عبر البريد الإلكتروني ، وليس الاجتماعي.
-
- لن تكون عمليات تسجيل الدخول إلى Google و GitHub و Facebook متاحة في هذا الوضع التجريبي. هذا ببساطة قيد تقني ، لأننا نستخدم "مجال اختبار" منفصل لهذا الإصدار. ** معلومات تسجيل الدخول إلى البريد الإلكتروني ستعمل بنفس الجودة. **
-
- قد تبدو صفحة الإشارة مختلفة عن الإنتاج.
-
-## الإبلاغ عن المشاكل وترك التعليق
-
-يرجى فتح قضايا جديدة للمناقشات والإبلاغ عن الأخطاء. يمكنك تسمية لهم باسم **[`release: next/beta`](https://github.com/freeCodeCamp/freeCodeCamp/labels/release%3A%20next%2Fbeta)** لفرز.
-
-يمكنك إرسال بريد إلكتروني إلى `dev@freecodecamp.org` إذا كان لديك أي استفسار. كما هو الحال دائمًا ، يجب الإبلاغ عن جميع الثغرات الأمنية `security@freecodecamp.org` بدلا من تعقب والمنتدى العام.
-
diff --git a/docs/i18n-languages/arabic/how-to-open-a-pull-request.md b/docs/i18n-languages/arabic/how-to-open-a-pull-request.md
deleted file mode 100644
index 7d6123ae27..0000000000
--- a/docs/i18n-languages/arabic/how-to-open-a-pull-request.md
+++ /dev/null
@@ -1,52 +0,0 @@
-
-| [Read these guidelines in other languages](/docs/i18n-languages) |
-|-|
-
-
-
-
-# كيفية فتح طلب سحب
-
-## كيفية إعداد عنوان طلب سحب جيد:
-
-عند فتح طلب سحب (PR) ، استخدم جدول النطاق التالي لتقرير ما الذي يجب أن يميز عنوان العلاقات العامة الخاص بك بالتنسيق التالي:
-`fix/feat/chore/refactor/docs/perf (scope): PR Title`
-
-مثال على ذلك`fix(learn): Fixed tests for the do...while loop challenge`.
-
-| نطاق | توثيق |
-|---|---|
-| `learn`,`curriculum` | لطلبات السحب ، إجراء تغييرات على تحديات المناهج الدراسية. |
-| `client` | لطلبات السحب ، إجراء تغييرات على منطق نظام العميل أو واجهة المستخدم |
-| `guide` | لطلبات السحب التي تجري تغييرات على الدليل. |
-| `docs` | لطلبات السحب ، إجراء تغييرات على وثائق المشروع. |
-
-## اقتراح طلب سحب (PR)
-
-1. بمجرد إجراء التعديلات ، سيُطلب منك إنشاء طلب سحب على صفحة GitHub الخاصة بشركتك.
-
- 
-
-2. بشكل افتراضي ، يجب أن تكون جميع طلبات السحب مقابل المخزن الرئيسي لـ freeCodeCamp ، وهو الفرع الرئيسي.
-
- تأكد من ضبط Base Fork على freeCodeCamp/freeCodeCamp عند رفع طلب السحب.
-
- 
-
-3. أرسل طلب السحب من فرعك إلى فرع freeCodeCamp's `master`.
-
-4. في نص ملخص العلاقات العامة الخاص بك تتضمن ملخصًا أكثر تفصيلًا عن التغييرات التي أجريتها ولماذا.
-
-- سيتم تقديمك مع نموذج طلب السحب. هذه قائمة مراجعة يجب عليك اتباعها قبل فتح طلب السحب.
-
- - املأ التفاصيل التي تراها مناسبة. ستتم مراجعة هذه المعلومات وسيقرر المراجعون ما إذا كان قد تم قبول طلب السحب الخاص بك أم لا.
-
- - إذا كان الهدف من العلاقات العامة هو معالجة مشكلة جيثب الحالية ، في نهاية
- نص وصف العلاقات العامة الخاص بك ، استخدم الكلمة الأساسية _Closes_ مع رقم الإصدار [automatically close that issue if the PR is accepted and merged](https://help.github.com/en/articles/closing-issues-using-keywords).
-
- > Example: `Closes #123` will close issue 123
-
-5. حدد ما إذا كنت قد اختبرت على نسخة محلية من الموقع أم لا.
-
- هذا مهم جدًا عند إجراء تغييرات ليست مجرد تعديلات على محتوى نصي مثل الوثائق أو وصف التحدي. تتضمن أمثلة التغييرات التي تحتاج إلى اختبار محلي جافا سكريبت أو CSS أو HTML والتي يمكن أن تغير وظيفة أو تخطيط الصفحة.
-
-
-```js
-Code desplayed in the editor by default.
-```
-
-
-
-### Before Test
-
-
-```js
-Test setup code.
-```
-
-
-
-
-
-### After Test
-
-
-```js
-Test tear down code.
-```
-
-
-
-
-
-## Solution
-
-
-```js
-Challenge solution code.
-```
-
-
-````
-
-### Links Úteis
-
-Criando e Editando Desafios:
-
-1. [Guia de Estilo dos Desafios](/docs/style-guide-for-curriculum-challenges.md) - como criar e formatar desafios.
-
-2. [Tipos de Desafio](https://github.com/freeCodeCamp/freeCodeCamp/blob/master/client/utils/challengeTypes.js#L1-L13) - o que o número do tipo de desafio significa (enum).
-
-3. [Contributing to FreeCodeCamp - Writing ES6 Challenge Tests](https://www.youtube.com/watch?v=iOdD84OSfAE#t=2h49m55s) - um vídeo acompanhando [Ethan Arrowood](https://twitter.com/ArrowoodTech) enquanto ele contribui com uma versão antiga do currículo.
diff --git a/docs/i18n-languages/romanian/CONTRIBUTING.md b/docs/i18n-languages/romanian/CONTRIBUTING.md
deleted file mode 100644
index b4d136908a..0000000000
--- a/docs/i18n-languages/romanian/CONTRIBUTING.md
+++ /dev/null
@@ -1,135 +0,0 @@
-
-| [Read these guidelines in other languages](/docs/i18n-languages) |
-|-|
-
-
-# Reguli privind contribuțiile
-
-Salut 👋!
-
-freeCodeCamp.org este posibil datorită miilor de voluntari binevoitori ca tine . Suntem recunoscători pentru contribuțiile voastre și suntem încântați să vă întâmpinăm la bord.
-
-Aplicăm cu strictețe ["Codul nostru de conduită"](https://www.freecodecamp.org/code-of-conduct). Ia-ți un moment să îl citești. Sunt doar 196 de cuvinte de citit.
-
-Iți urăm contribuție plăcută 🎉!
-
-## Aici sunt câteva moduri plăcute în care ne poți ajuta
-
-Poți alege să contribuiești în orice arie/domeniu care te interesează:
-
-1. [Contribuiește la codul open source al aceastei pagine.](#contribute-to-this-open-source-codebase). Ajutâ la editarea [articolelor de orientare](https://guide.freecodecamp.org/), la [provocările de codare](https://learn.freecodecamp.org/) sau la corectarea erorilor de pe platforma de învățare.
-
-2. Ajută-i pe colegii de pe [forumul public](https://forum.freecodecamp.org/). [Răspunde la întrebările lor de codare](https://forum.freecodecamp.org/?max_posts=1) sau [oferăle feedback cu privire la proiectele lor de codare](https://forum.freecodecamp.org/c/project-feedback?max_posts=1)
-
-3. Ajută-ne să adăugăm subtitrări în [videoclipurile canalului YouTube](https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ/videos).
-
-## Contribuiește la codul open source al aceastei pagine
-
-Avem o vastă bază de open source cu mii de [provocări de codare](https://learn.freecodecamp.org) și [articole de orientare](https://guide.freecodecamp.org).
-
-Poți să ne ajuți în felul următor:
-
-- [📝 Caută, Scrie și Actualizează Ghidul articolelor](#research-write-and-update-our-guide-articles)
-
-- [💻 Crează, Actualizează și Corectează erorile în provocările noastre de codare](#create-update-and-fix-bugs-in-our-coding-challenges)
-
-- [🌐 Tradu Ghidul articolelor și provocările de codare](#translate-guide-articles-and-coding-challenges)
-
-- [🛠 Ajută-ne să Corectăm bug-urile în platforma de învățare a freeCodeCamp.org](#help-us-fix-bugs-in-freecodecamporgs-learning-platform)
-
-### Caută, Scrie și Actualizează Ghidul articolelor
-
-**Ce este ghidul articolelor?**
-
-Ghidul articolelor te ajută să înțelegi rapid conceptul tehnologiei. Acestea sunt scurte explicații explicite în limba engleză pe care le poți citi înainte de a te deplasa la resurse mai aprofundate.
-
-Poți găsi un [exemplu de articol despre elementele HTML aici](./client/src/pages/html/elements/index.md).
-
-**Despre ce pot scrie într-un articol?**
-
-Noi încurajăm ajutorul tău pentru a scrie aceste articole. Nu trebuie să fii un expert într-un subiect care să scrii despre el - întregul Ghid este open source, deci chiar dacă faci o greșeală, un alt contribuitor o va corecta în cele din urmă.
-
-Pentru a-ți fi de ajutor, găsește un "articol stub/trunchi" pe site-ul [Ghidul website-ului nostru](https://www.freecodecamp.org/guide), scrie articolul, apoi deschide o solicitare de integrare a modificărilor tale pentru a înlocui stubul cu articolul tău. O [solicitare de integrare a modificărilor] (https://help.github.com/articles/about-pull-requests/) este modul în care vei sugera modificările. Permite altora să știe despre modificările tale, să le revizuiască și să le adopte.
-
-Dacă nu poți găsi un articol stub/trunchi despre subiectul despee care dorești să scrii, poți deschide un PR care creează un stub și include schița articolul tău.
-
-Dacă dorești să contribui la îmbunătățirea articolelor de orientare, iată [cum să lucrezi cu articole de ghid](/docs/how-to-work-on-guide-articles.md).
-
-### Crează, Actualizează și Corectează erorile în provocările noastre de codare
-
-Toate provocările de codare sunt întreținute de comunitate, aducând cunoștințe de specialitate de la voluntari ca tine.
-
-Tu poți ajuta să le extinzi și să le clarifichezi formularea. Poți actualiza povestirile utilizatorilor pentru a explica mai bine conceptul și chiar a elimina pe cele care se repetă. De asemenea, poți îmbunătăți testele provocărilor pentru a le face mai corect când ceilalți testează codul.
-
-Dacă ești interesat să îmbunătățești aceste provocări de codare, iată [cum să lucrezi la provocările de codare](/docs/how-to-work-on-coding-challenges.md).
-
-### Tradu Ghidul articolelor și provocările de codare
-
-Ne poți ajuta să traducem Ghidul articolelor noastre și provocările de Codare pentru o limbă pe care o vorbești. În prezent avem traduse versiuni în:
-
-- [Chineză (中文)](https://github.com/freeCodeCamp/freeCodeCamp/tree/master/curriculum/challenges/chinese)
-- [Rusă (русский)](https://github.com/freeCodeCamp/freeCodeCamp/tree/master/curriculum/challenges/russian)
-- [Arabă (عربى)](https://github.com/freeCodeCamp/freeCodeCamp/tree/master/curriculum/challenges/arabic)
-- [Spaniolă (Español)](https://github.com/freeCodeCamp/freeCodeCamp/tree/master/curriculum/challenges/spanish)
-- [Portugheză (Português)](https://github.com/freeCodeCamp/freeCodeCamp/tree/master/curriculum/challenges/portuguese)
-- [Română (Română)](https://github.com/freeCodeCamp/freeCodeCamp/tree/master/curriculum/challenges/romanian)
-
-Ne face plăcere ajutorul tău în îmbunătățirea calității acestor traduceri. Milioane de oameni folosesc versiunea în limba engleză a freeCodeCamp.org și ne așteptăm ca alte milioane de utilizatori să folosească și aceste versiuni traduse.
-
-### Ajută-ne să Corectăm bug-urile în platforma de învățare a freeCodeCamp.org
-
-Platforma noastră de învățare rulează pe un stack JavaScript modern. Dispune de diverse componente, instrumente și biblioteci, incluzând dar fără a se limita la Node.js, MongoDB, LoopBack, OAuth 2.0, React, Gatsby, Webpack și multe altele.
-
-In linii mari,
-
-- Avem un server API bazat pe Node.js.
-- Un set de aplicații client bazate pe React.
-- Un script pe care îl folosim pentru a evalua proiectele noastre Frontend.
-
-Contribuind la acest lucru este nevoie de o înțelegere a API-urilor, sintaxei ES6 și o mulțime de curiozitate.
-
-În esență, ne așteptăm la o anumită familiaritate de bază, cu unele dintre tehnologiile, instrumentele și bibliotecile menționate mai sus. Acestea fiind spuse, nu ți se cere să fii un expert la ele.
-
-Simte-te liber să ne pui întrebări, cu privire la subiectele legate de acest subiect, și vom fi bucuroși să clarificăm. Când ai dubii, poți contacta pe Mrugesh Mohapatra Mrugesh Mohapatra [`@raisedadead`](https://github.com/raisedadead) sau Stuart Taylor [`@bouncey`](https://github.com/bouncey) de pe platforma noastră dev echipa pentru a te ajuta în acest sens.
-
-Dacă dorești să ne ajutați să îmbunătățim codul nostru, iată [cum să configurezi freeCodeCamp local](/docs/how-to-setup-freecodecamp-locally.md).
-
-
-## Întrebări frecvente
-
-**Cum pot raporta un bug/eroare de cod, care nu este la bord/tablă?**
-
-Dacă crezi că ai găsit un bug, mai întâi citește articolul ["Ajutor am găsit un bug"](https://forum.freecodecamp.org/t/how-to-report-a-bug/19543) și urmărește instrucțiunile sale.
-
-Dacă ești convins că este vorba despre un bug nou, continuă și crează o nouă problemă GitHub. Asigură-te că incluzi cât mai multe informații posibil pentru ca să putem reproduce eroarea. Avem un șablon predefinit pentru a te ajuta să faci acest lucru.
-
-Te rugăm să reții că orice problemă care solicită ajutor pentru codiul provocarii, va fi închisă. Problema tracker-ului este strict pentru problemele și discuțiile legate de codul de basă. Ar trebui să [solicitezi asistență pe forum](https://forum.freecodecamp.org) înainte de a raporta ori de câte ori ai îndoieli.
-
-**Cum pot raporta o problemă de securitate?**
-
-Te rugăm să nu creezi probleme GitHub pentru probleme de securitate. În schimb, trimite un e-mail la adresa `security@freecodecamp.org`și o vom examina imediat.
-
-**M-am impotmolit pe ceva ce nu se află în documentația respectivă. Cum pot obține ajutor?**
-
-Nu ezita să ceri ajutor în:
-
-- [Categoria "Colaboratori" a forumul nostru public](https://forum.freecodecamp.org/c/contributors)
-- [Camera/room noastră de discuții publice pe Gitter](https://gitter.im/FreeCodeCamp/Contributors)
-
-Suntem bucuroși să te ajutăm să contribuiești la oricare dintre subiectele la care dorești să lucrezi. Asigură-te că ai căutat intrebarea ta înainte de a posta una nouă. Fii politicos și răbdător. Voluntarii și moderatorii noștri din comunitate sunt în permanență în imprejurimi pentru a te călăuzi prin intrebările tale.
-
-**Sunt nou în GitHub și în Open Source în general:**
-
-Citește [Cum să contribui la Ghidul Open Source](https://github.com/freeCodeCamp/how-to-contribute-to-open-source).
-
-**Ce înseamnă aceste etichete diferite, care sunt atașate/anexate pe probleme?**
-
-Moderatorii noștri din comunitate [triază](https://en.wikipedia.org/wiki/Software_bug#Bug_management) problemele si solicitarile de integrare a modificărilor pe baza priorității lor, gravității lor și a altor factori. Poți găsi [un glosar complet al semnificațiilor lor aici](https://github.com/freecodecamp/freecodecamp/labels).
-
-Ar trebui să treci prin intermediul paginilor cu probleme **`Help Wanted/Am nevoie de ajutor`** sau **`first timers only/pagina incepatorilor`** pentru a căuta rapid ceea ce este disponibil pentru tine pentru a lucra. Acestea sunt susținute pentru a fi luate și nu trebuie să lucrați în altceva înainte de a lucra la acestea.
-
-Dacă aceste aspecte nu prezintă clarificări cu privire la ceea ce trebuie făcut, nu ezita să pui întrebări în comentarii.
-
-**Am găsit o greșeală de tipărire, ar trebui să raportez o problemă înainte de a putea face o solicitare de integrare a modificărilor?**
-
-Pentru greșelile de tipărire și alte modificări de genul acesta, poți deschide direct solicitari de integrare a modificărilor fără a crea mai întâi o problemă. Problemele sunt mai mult pentru a discuta probleme asociate cu codul, sau mai multe aspecte structurale ale curriculumului.
diff --git a/docs/i18n-languages/russian/CONTRIBUTING.md b/docs/i18n-languages/russian/CONTRIBUTING.md
deleted file mode 100644
index 5747f2e603..0000000000
--- a/docs/i18n-languages/russian/CONTRIBUTING.md
+++ /dev/null
@@ -1,151 +0,0 @@
-
-| [Read these guidelines in other languages](/docs/i18n-languages) |
-|-|
-
-
-# Рекомендации по внесению вклада в freeCodeCamp
-
-Привет 👋!
-
-freeCodeCamp.org возможен благодаря тысячам добровольцев, таких как Вы. Мы благодарим Вас за Ваш вклад и рады приветствовать Вас на борту.
-
-Мы строго соблюдаем наш «Кодекс поведения»: ['Code of Conduct'](https://www.freecodecamp.org/code-of-conduct). Потратьте минутку, чтобы ознакомиться. Это не займет много времени.
-
-Счастливого участия 🎉!
-
-## Вот некоторые интересные способы, которыми вы можете помочь
-
-Вы можете внести свой вклад в интересующую вас область:
-
-1. [Внести вклад в этот открытый репозиторий.](#внести-свой-вклад-в-этот-open-source-проект)
-
- Помогите нам в создании или редактировании обучающих статей, задач по программированию или исправлении ошибок на нашей обучающей платформе.
-
-2. Помощь новичкам с нашим [форумом](https://forum.freecodecamp.org/).
-
- - ❓ Помощь новичкам [отвечая на их вопросы](https://forum.freecodecamp.org/?max_posts=1).
- - 💬 [Написать отзыв](https://forum.freecodecamp.org/c/project-feedback?max_posts=1) на проекты новичков.
-
-3. Помогите нам добавить субтитры на нашем [канале YouTube](https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ/videos).
-
-
-## Внести свой вклад в этот open source проект
-
-У нас есть огромная база с открытым исходным кодом из тысяч [задач по программированию](https://www.freecodecamp.org/learn) и [обучающих статей](https://www.freecodecamp.org/guide). Эти задачи и статьи составляют учебный контент, доступный на платформе обучения freeCodeCamp.org.
-
-Вы можете помочь нам:
-
-- [📝 В исследовании, написании и обновлении статей нашего руководства.](#изучение-написание-и-обновление-статей-нашего-руководства)
-
-- [💻 В создании, обновлении и исправлении ошибок в наших задачах по программированию.](#создание-обновление-и-исправление-ошибок-в-наших-задачах-на-кодирование)
-
-- [🌐 В переводе обучающих статей и задач по программированию.](#перевод-статей-руководства-и-задач-на-кодирование)
-
-- [🛠 В исправлении ошибок на обучающей платформе freeCodeCamp.org](#помогите-нам-исправить-ошибки-в-обучающей-платформе-freecodecamporg)
-
-### Изучение, написание и обновление статей нашего руководства
-
-**Что за обучающие статьи?**
-
-Обучающие статьи помогут вам быстро понять технологические концепции. Это краткие и простые объяснения, которые вы можете прочитать, прежде чем перейти к более глубоким темам.
-
-Пример [статьи о HTML](./client/src/pages/html/elements/index.md).
-
-**О чем я могу написать статью?**
-
-
-Мы рады Вашей помощи с написанием этих статей. Вам не обязательно быть экспертом в теме, чтобы писать об этом - все это Руководство является открытым исходным кодом, поэтому, даже если вы допустили ошибку, другой участник в конечном итоге исправит это.
-
-
-Чтобы помочь, найдите "заглушку" на нашем [Сайте Руководства](https://www.freecodecamp.org/guide), напишите статью, затем создайте 'pull request', чтобы заменить заглушку своей статьей. [pull request](https://help.github.com/articles/about-pull-requests/) вот как Вы можете предложить изменения. Это позволяет другим узнать о ваших изменениях, просмотреть их и принять их.
-
-Если вы не можете найти заглушку по теме, о которой хотите писать, вы можете открыть PR, который создает заглушку и включает черновик Вашей статьи.
-
-** Если вы хотите работать над этим, следуйте этим рекомендациям: **
-
-#### [Как работать над статьями руководства](/docs/how-to-work-on-guide-articles.md)
-
-### Создание, обновление и исправление ошибок в наших задачах на кодирование
-
-Все наши задачи на кодирование пишутся сообществом, принося экспертные знания таких добровольцев, как Вы.
-
-Тем не менее, их необходимо постоянно совершенствовать по качеству. Например, вы можете обновить инструкции, чтобы исправить их [пустословие](https://en.oxforddictionaries.com/definition/verbiage) Вы можете дополнить user stories, чтобы лучше объяснить концепцию и даже удалить лишнее. Вы можете захотеть рефакторить тесты, которые не проходят с текущим кодом для user stories.
-
-** Если вы хотите работать над этим, следуйте этим рекомендациям: **
-
-#### [Как работать над задачами по кодингу](/docs/how-to-work-on-coding-challenges.md)
-
-### Перевод статей руководства и задач на кодирование
-
-Вы можете помочь нам с переводом наших статей и задач о кодировании для языка, на котором вы говорите. В настоящее время мы переводим версии в:
-
-- Chinese (中文)
-- Russian (русский)
-- Arabic (عربي)
-- Spanish (Español)
-- Portuguese (Português)
-
-Большинство из этих версий переведены машиной. Мы будем рады вашей помощи в улучшении качества этих переводов.
-
-** Если вы хотите работать над этим, следуйте этим рекомендациям: **
-
-**[TODO]** Мы находимся в процессе обновления документов для рабочего процесса перевода. Следите [`#18313`](https://github.com/freeCodeCamp/freeCodeCamp/issues/18313) за прогрессом.
-
-### Помогите нам исправить ошибки в обучающей платформе freeCodeCamp.org
-
-Наша обучающая платформа работает на современном стеке JavaScript. Он использует различные компоненты, инструменты и библиотеки, включая, но не ограничиваясь Node.js, MongoDB, LoopBack, OAuth 2.0, React, Gatsby, Webpack, и другие.
-
-В общем смысле,
-
-- У нас есть сервер с API на Node.js.
-- Набор клиентских приложений на основе React.
-- Скрипт, который мы используем для оценки проектов Frontend.
-
-Для этого требуется некоторое понимание API, синтаксиса ES6 и много любопытства.
-
-Мы ожидаем некоторых базовых знаний о некоторых из вышеупомянутых технологий, инструментов и библиотек. Тем не менее, вы не обязаны быть в этом экспертом.
-
-Не стесняйтесь задавать нам вопросы, о связанных проблемах, и мы будем рады прояснить. Когда вы сомневаетесь, вы можете связаться с Mrugesh Mohapatra [`@raisedadead`](https://github.com/raisedadead) или Stuart Taylor [`@bouncey`](https://github.com/bouncey) из нашей команды разработчиков платформы, чтобы помочь вам разобраться.
-
-** Если вы хотите работать над этим, следуйте этим рекомендациям: **
-
-#### [Как настроить freeCodeCamp локально.](/docs/how-to-setup-freecodecamp-locally.md)
-
-## Часто задаваемые вопросы
-
-**Как я могу сообщить об ошибке, которой не в списке?**
-
-Если вы считаете, что обнаружили ошибку, сначала прочитайте ['Помощь Я нашел ошибку'](https://forum.freecodecamp.org/t/how-to-report-a-bug/19543) статью и следуйте инструкциям.
-
-Если вы уверены, что это новая ошибка, продолжайте и создайте новую проблему на GitHub. Обязательно укажите как можно больше информации, чтобы мы могли воспроизвести ошибку. У нас есть предопределенный шаблон, который поможет вам в этом.
-
-Обратите внимание, что любые вопросы, требующие помощи по задачам на кодирование, будут закрыты. Отслеживание проблем строго связано с вопросами и обсуждениями, связанными с кодовой базой. Вам лучше [искать помощь на форуме](https://forum.freecodecamp.org) перед тем как сообщать о любых сомнениях.
-
-**Как я могу сообщить о проблеме безопасности?**
-
-Пожалуйста, не создавайте проблемы на GitHub для проблем безопасности. Вместо этого отправьте электронное письмо по адресу `security@freecodecamp.org` и мы незамедлительно рассмотрим его.
-
-**Я застрял в том, чего нет в этой документации. Как получить помощь?**
-
-Не стесняйтесь обращаться за помощью в:
-
-- [Категория «Участники» на нашем форуме](https://forum.freecodecamp.org/c/contributors).
-- [Наш чат в Gitter](https://gitter.im/FreeCodeCamp/Contributors).
-
-Мы рады помочь вам внести свой вклад в любую из тем, над которыми вы хотели бы работать. Перед отправкой нового вопроса убедитесь, что его не сделал кто-то до вас. Будьте вежливы и терпеливы. Наши волонтеры и модераторы сообщества всегда рядом, чтобы ответить на ваши вопросы.
-
-**Я новичок в GitHub и Open Source в целом:**
-
-Читайте наше [Руководство о внесении вклада в проекты с открытым исходным кодом](https://github.com/freeCodeCamp/how-to-contribute-to-open-source).
-
-**Что означают разные виды ярлыков, которыми отмечены проблемы?**
-
-Наши модераторы сообщества [сортируют](https://en.wikipedia.org/wiki/Software_bug#Bug_management) проблемы и выбирают запросы в соответствии с их приоритетом, серьезности или других факторов. Вы можете [найти полный глоссарий значений здесь](https://github.com/freecodecamp/freecodecamp/labels).
-
-Лучше всего искать ярлыки с названиями "Нужна помощь" (**`Help Wanted`**) или "Новички приветствуются" (**`first timers only`**) для быстрого поиска тех проблем, которым вы можете помочь. Они уже готовы к работе, и никакой дополнительной подготовки не требуется.
-
-Если в этих вопросах не хватает ясности в понимании того, что нужно сделать, не стесняйтесь задавать вопросы в комментариях.
-
-**Я нашел опечатку, должен ли я сообщить о проблеме, прежде чем я смогу сделать запрос на дополнение ('pull request')?**
-
-Вы можете сразу создать pull request с исправлениями опечаток или небольшими изменениями в [пустословие](https://en.oxforddictionaries.com/definition/verbiage), не сообщая о каких-либо проблемах дополнительно. Трекер Проблем ('issue tracker') - это инструмент для поиска существующих проблем, исправление которых вы можете предложить посредством pull request.
diff --git a/docs/i18n-languages/russian/how-to-catch-outgoing-emails-locally.md b/docs/i18n-languages/russian/how-to-catch-outgoing-emails-locally.md
deleted file mode 100644
index ccc2b51fb5..0000000000
--- a/docs/i18n-languages/russian/how-to-catch-outgoing-emails-locally.md
+++ /dev/null
@@ -1,110 +0,0 @@
-
-| [Read these guidelines in other languages](/docs/i18n-languages) |
-|-|
-
-
-# Как локально отлавливать получение исходящих электронных писем без их реальной отправки (требуется только для рабочих процессов электронной почты)
-
-> **Заметка:** Это **необязательный** шаг - требуется только при работе с рабочими процессами электронной почты
-
-## Вступление
-
-Некоторые рабочие процессы электронной почты (например обновление электронной почты пользователя) требуют чтобы внутренний сервер через api отправлял электронные письма. Во время разработки вы можете использовать инструмент для локального отлавливания электронной почты, вместо того чтобы использовать реального поставщика электронной почты и отправлять реальные электронные письма. MailHog - это один из таких средств тестирования электронной почты для разработчиков, который ловит электронные письма, отправляемые вашим локальным экземпляром freeCodeCamp.
-
-## Установка MailHog
-
-Установите и запустите MailHog (зависит от установленной ОС):
-
-
-- [Установка MailHog на macOS](#installing-mailhog-on-macos)
-- [Установка MailHog на Windows](#installing-mailhog-on-windows)
-- [Установка MailHog на Linux](#installing-mailhog-on-linux)
-
-### Установка MailHog на macOS
-
-
-Как установить MailHog на macOS с помощью [Homebrew](https://brew.sh/):
-
-
-
-```bash
-brew install mailhog
-brew services start mailhog
-```
-
-Данные команды установят и запустят службу MailHog в фоновом режиме.
-
-Затем вы можете перейти к непосредственному [использованию MailHog](#using-mailhog).
-
-### Установка MailHog на Windows
-
-Загрузите последнюю версию MailHog с [официального репозитория](https://github.com/mailhog/MailHog/releases). Выберите ссылку для вашей версии Windows (32 или 64 бит) и файл .exe будет загружен на ваш компьютер.
-
-После завершения загрузки, кликните на файл. Возможно, вы получите уведомление брандмауэра Windows где вам нужно будет разрешить доступ к MailHog. Как только вы это сделаете, стандартная подсказка командной строки Windows откроется с уже запущенным MailHog.
-
-Чтобы закрыть MailHog, закройте командную строку. Чтобы запустить его снова, кликните тот же файл .exe. Вам не нужно загружать каждый раз новый файл.
-
-Затем вы можете перейти к [использованию MailHog](#using-mailhog).
-
-### Установка MailHog на Linux
-
-Сначала установите [Go](https://golang.org).
-
-Для систем на базе Debian, таких как Ubuntu и Linux Mint, выполните команду:
-
-
-```bash
-sudo apt-get install golang
-```
-
-Для CentOS, Fedora, Red Hat Linux и других систем на основе RPM выполните команду:
-
-```bash
-sudo dnf install golang
-```
-
-Или:
-
-```bash
-sudo yum install golang
-```
-
-
-Задайте путь к Go:
-
-```bash
-echo "export GOPATH=$HOME/go" >> ~/.profile
-echo 'export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin' >> ~/.profile
-source ~/.profile
-```
-
-Затем установите и запустите MailHog:
-
-```bash
-go get github.com/mailhog/MailHog
-sudo cp /home/$(whoami)/go/bin/MailHog /usr/local/bin/mailhog
-mailhog
-```
-Теперь вы можете перейти к [использованию MailHog](#using-mailhog).
-
-## Использование MailHog
-
-После того, как вы установили MailHog и запустили его, вам нужно открыть почтовый ящик MailHog в своем браузере, открыть новую вкладку или окно и перейти по адресу [http://localhost:8025](http://localhost:8025).
-
-Теперь вы должны увидеть экран, как показано ниже:
-
-
-
-Когда ваша freeCodeCamp сборка отправит электронное письмо, вы увидите его на экране, как показано ниже:
-
-
-
-Откройте почту, и вы увидите две вкладки, где вы можете просмотреть содержимое: обычный текст и источник. Убедитесь, что вы находитесь на вкладке обычного текста.
-
-
-
-Любые ссылки в письме так же должны быть доступны для просмотра.
-
-## Полезные ссылки
-
-- По любым другим вопросам, связанным с MailHog или инструкциями по пользовательским настройкам, вы можете ознакомиться в [официальном репозитории MailHog](https://github.com/mailhog/MailHog).
diff --git a/docs/i18n-languages/russian/how-to-open-a-pull-request.md b/docs/i18n-languages/russian/how-to-open-a-pull-request.md
deleted file mode 100644
index 06167079bf..0000000000
--- a/docs/i18n-languages/russian/how-to-open-a-pull-request.md
+++ /dev/null
@@ -1,46 +0,0 @@
-
-| [Read these guidelines in other languages](/docs/i18n-languages) |
-|-|
-
-
-# Как создать Pull Request (Пулл Реквест)
-
-## Как сделать хороший заголовок для Pull Request:
-
-Создавая Pull Request (PR), воспользуйтесь данной таблицей, чтобы решить, как правильно озаглавить PR в формате:
-`fix/feat/chore/refactor/docs/perf (scope): PR Title`
-
-Например: `fix(learn): Fixed tests for the do...while loop challenge`.
-
-| Область | Описание |
-|---|---|
-| `learn`,`curriculum` | Для PR'ов, которые вносят изменения в учебный план. |
-| `client` | Для PR'ов, которые вносят изменения в логику клиентской платформы или пользовательский интерфейс. |
-| `guide` | Для PR'ов, которые вносят изменения в инстукции. |
-| `docs` | Для PR'ов, которые вносят изменения в документацию. |
-
-## Создание Пулл Реквеста (PR)
-
-1. После того, как вы внесёте какие-нибудь изменения в свой форк репозитория, GitHub предложит вам создать PR
-
- 
-
-2. По умолчанию все PR создаются в ветку `master` основного репозитория freeCodeCamp
-
- При создании PR, убедитесь, что в поле "base fork" указан репозиторий freeCodeCamp/freeCodeCamp
-
- 
-
-3. Нажать на кнопку "Create pull request", для создания PR из вашей верки в ветку `master` freeCodeCamp.
-
-4. В поле описания PR добавьте более подробный отчёт сделанных вами изменений и причины по которым появилась такая необходимость
-
- - Вам будет предоставлен шаблон, который содержит контрольные список пунктов, которые вам необходимо выполнить, прежде чем вы создадите PR.
-
- - Заполните эти пункты. Опираясь на них, будет приниматься решение о рассмотрении и принятии вашего PR
-
- - Если PR предназначен для исправления существующей ошибки/проблемы, то в конце описание вашего PR добавьте ключевое слово `closes` и #xxxx (где xxxx это номер выпуска). Например: `closes #1337`. Так GitHub поймёт, что при успешном принятии PR нужно автоматически закрыть Issue с указанным номером
-
-5. Укажите, тестировали ли вы локальную копию сайта или нет.
-
- Тестирование необходимо, когда вы не просто меняете какой-то текст (например, статью руководства), а изменяете JavaScript, HTML или CSS файлы, которые могут изменить функциональность или макет страницы.
diff --git a/docs/i18n-languages/russian/how-to-setup-freecodecamp-locally.md b/docs/i18n-languages/russian/how-to-setup-freecodecamp-locally.md
deleted file mode 100644
index 1111ff7fd5..0000000000
--- a/docs/i18n-languages/russian/how-to-setup-freecodecamp-locally.md
+++ /dev/null
@@ -1,465 +0,0 @@
-
-| [Read these guidelines in other languages](/docs/i18n-languages) |
-|-|
-
-
-# Локальная настройка freeCodeCamp
-
-Следуйте этим рекомендациям для работы с freeCodeCamp локально на вашей системе. Это необходимо сделать, если вы хотите регулярно вносить свой вклад.
-
-Некоторые рабочие процессы, такие как предварительный просмотр страниц руководства или испытания по программированию, отладка и исправление ошибок в кодовой базе, требуют, чтобы freeCodeCamp работал локально.
-
-## Форк репозитория на GitHub
-
-['Форк'](https://help.github.com/articles/about-forks/) – действие, при котором вы получаете свою собственную копию основного репозитория freeCodeCamp на GitHub.
-
-Это очень важно, потому что таким образом вы можете работать над своей копией freeCodeCamp на GitHub или загрузить её для работы локально. Позже, вы сможете вносить изменения в основной репозиторий через пулл-реквест.
-
-> **Подсказка:**
-> Основной репозиторий `https://github.com/freeCodeCamp/freeCodeCamp` часто называют `upstream` репозиторий.
-> Ваш форк `https://github.com/YOUR_USER_NAME/freeCodeCamp` называют `origin` репозиторий.
-
-**Выполните следующие действия для `https://github.com/freeCodeCamp/freeCodeCamp` репозитория:**
-
-1. Перейдите в репозиторий freeCodeCamp на GitHub:
-2. Нажмите кнопку "Fork" в правом верхнем углу интерфейса ([Подробнее здесь](https://help.github.com/articles/fork-a-repo/))
-3. После того, как репозиторий будет форкнут, вы попадете в свою копию freeCodeCamp по адресу `https://github.com/YOUR_USER_NAME/freeCodeCamp`
-
-
-
-## Подготовка среды разработки
-
-После установки необходимых компонентов необходимо подготовить среду разработки. Это является общим для многих рабочих процессов разработки, и вам нужно будет сделать это только один раз.
-
-**Выполните следующие действия, чтобы подготовить среду разработки:**
-
-1. Установить [Git](https://git-scm.com/) или ваш любимый Git-клиент, если вы еще этого не сделали. Обновите до последней версии, идущий в комплекте с вашей ОС может быть устаревшим.
-
-2. (Необязательно, но рекомендуется) [Настройка SSH-ключа](https://help.github.com/articles/generating-an-ssh-key/) для GitHub.
-
-3. Установите редактор кода по вашему выбору.
-
- Мы рекомендуем использовать [VS Code](https://code.visualstudio.com/) или [Atom](https://atom.io/). Это отличные бесплатные редакторы с открытым исходным кодом.
-
-4. Настройка линтинг для редактора кода.
-
- Вы должны иметь [ESLint работающий в вашем редакторе](http://eslint.org/docs/user-guide/integrations.html) который будет выделять все несоответствия вашего кода с [нашим руководство по стилю](http://forum.freecodecamp.org/t/free-code-camp-javascript-style-guide/19121).
-
- > Пожалуйста, не игнорируйте ошибки линтинга. Они предназначены для **помощи** вам и для обеспечения чистой и простой кодовой базы.
-
-## Клонирование вашей копии репозитория freeCodeCamp
-
-['Клонирование'](https://help.github.com/articles/cloning-a-repository/) – это шаг, на котором вы **загружаете** копию репозитория, который принадлежит вам или кому-то другому из `удаленного` местоположения. В вашем случае, это удаленное расположение является вашим `форком` репозитория freeCodeCamp, который должен быть доступен по адресу `https://github.com/YOUR_USER_NAME/freeCodeCamp`.
-
-Выполните эти команды на локальном компьютере:
-
-1. Откройте терминал / командную строку / оболочку Bash в каталоге проектов
-
- _например: `/yourprojectdirectory/`_
-
-2. Клонируйте ваш форк freeCodeCamp, заменив `YOUR_USER_NAME` вашим именем пользователя на GitHub
-
- ```shell
- git clone https://github.com/YOUR_USER_NAME/freeCodeCamp.git
- ```
-
-Так вы скачаете весь репозиторий freeCodeCamp в каталог ваших проектов.
-
-## Настройка `upstream` для главного репозитория
-
-Теперь, когда вы загрузили копию вашего форка, вам нужно будет настроить `upstream`.
-
-Как упоминалось ранее, основной репозиторий `https://github.com/freeCodeCamp/freeCodeCamp` часто называется как `upstream` репозиторий. Форк `https://github.com/YOUR_USER_NAME/freeCodeCamp` часто называют `origin` репозиторий.
-
-Вам нужно указать своему склонированному репозиторию на `upstream` в дополнение к `origin`. Это позволяет синхронизировать изменения из основного репозитория. Таким образом, вам не придется делать форк и клонирование снова и снова.
-
-1. Зайти в каталог
-
- ```shell
- cd freeCodeCamp
- ```
-
-2. Добавить связь с основным репозиторием freeCodeCamp:
-
- ```shell
- git remote add upstream https://github.com/freeCodeCamp/freeCodeCamp.git
- ```
-
-3. Проверьте конфигурацию:
-
- ```shell
- git remote -v
- ```
-
- Вывод должен быть примерно таким:
-
- ```shell
- origin https://github.com/YOUR_USER_NAME/freeCodeCamp.git (fetch)
- origin https://github.com/YOUR_USER_NAME/freeCodeCamp.git (push)
- upstream https://github.com/freeCodeCamp/freeCodeCamp.git (fetch)
- upstream https://github.com/freeCodeCamp/freeCodeCamp.git (push)
- ```
-
-## Запуск freeCodeCamp локально на вашем компьютере
-
-Теперь, когда у вас есть локальная копия freeCodeCamp, вы можете следовать этим инструкциям, чтобы запустить ее локально. Это поможет вам:
-
-- Предварительный просмотр изменений в том виде, в каком они появляться на обучающей платформе.
-- Работа над вопросами и улучшениями, связанными с UI.
-- Отладка и исправление проблем в серверной и клиентской частях приложения.
-
-Вы можете пропустить локальный запуск freeCodeCamp, если вы просто редактируете файлы, делаете `rebase` или разрешаете конфликты (`merge` conflicts). Вы всегда можете вернуться к этой части инструкций позже.
-
-[Пропустить локальный запуск freeCodeCamp](#Внесение-изменений-в-вашу-локальную-копию-freecodecamp)
-
-### Установка необходимых компонентов
-
-Начните с установки необходимого программного обеспечения.
-
-| Программное обеспечение | Версия | Описание |
-| - | - | - |
-| [MongoDB Community Server](https://docs.mongodb.com/manual/administration/install-community/) | `3.6` | [Примечания к выпуску](https://docs.mongodb.com/manual/release-notes/). Примечание: Мы используем версию `3.6`, но [планируем обновление](https://github.com/freeCodeCamp/freeCodeCamp/issues/18275).
-| [Node.js](http://nodejs.org) | `8.x` | [LTS релиз](https://github.com/nodejs/Release#release-schedule) |
-| npm (поставляется в комплекте с Node) | `6.x` | Не имеет LTS релизов, мы используем версию в комплекте Node LTS |
-
-**Важно:**
-
-Мы настоятельно рекомендуем обновиться до последних стабильных выпусков (долгосрочная поддержка (LTS)) вышеуказанных версий.
-Если Node.js или MongoDB уже установлен на вашем компьютере, выполните следующие команды для проверки версий:
-
-```shell
-node -v
-mongo --version
-npm -v
-```
-
-> Если у вас есть другая версия, пожалуйста, установите рекомендуемую версию. Мы можем помочь с вопросами по установке только для рекомендуемых версий
-
-**У меня возникли проблемы с установкой рекомендуемого программного обеспечения. Что мне следует делать?**
-
-Мы регулярно разрабатываем на популярных и новейших операционных системах, таких как mac OS 10.12 (или более новая версии), Ubuntu 16.04 (или более новая версии), а так же Windows 10. Рекомендуем для поиска воспользоваться такими ресурсами как Google, Stack Overflow или Stack Exchange. Скорее всего, кто-то столкнулся с той же проблемой, и уже есть решение вашего вопроса.
-
-Если вы используете другую ОС и / или все еще сталкиваетесь с проблемами, обратитесь к [сообществу участников на нашем публичном форуме](https://www.freeCodeCamp.org/c/contributors) или в [чат участников](https://gitter.im/freeCodeCamp/Contributors). Мы можем помочь с решением некоторых общих проблем.
-
-Мы не можем поддержать вас на GitHub, потому что вопросы установки программного обеспечения выходят за рамки этого проекта.
-
-### Установка зависимостей
-
-Начните с установки зависимостей, необходимых для запуска приложения.
-
-```shell
-# Установка NPM зависимостей
-npm install
-```
-
-Затем необходимо добавить частные переменные среды (ключи API):
-
-```shell
-# Сделайте копию "sample.env" и переименуйте её в ".env".
-# Заполните его необходимыми ключами API и секретными данными:
-
-# macOS / Linux
-cp sample.env .env
-
-# Windows
-copy sample.env .env
-```
-
-Ключи не требуется изменять, чтобы запустить приложение локально. Вы можете оставить значения по умолчанию из `sample.env`.
-
-`MONGOHQ_URL` является наиболее важным. Если у вас нет MongoDB, работающей с настройками, отличными от настроек по умолчанию, URL-адрес в `sample.env` должна работать нормально.
-
-Остальные ключи можно оставить как есть. Имейте в виду, если вы хотите использовать больше сервисов, вам нужно будет получить свои собственные ключи API для этих сервисов и добавить эти ключи в файле `.env`.
-
-Далее давайте запустим различные сервисы, например api-сервер, клиентское UI-приложение и т.д. Вы можете [узнать больше об этих услугах в этом руководстве](#)
-
-При запуске устанавливаются связи между сервисами. Они полунезависимы. Это означает, что в рабочей среде эти службы развертываются в по отдельности, но при локальном запуске они запускаются вместе.
-
-```shell
-# Запуск всех проектов внутри этого репозитория
-npm run bootstrap
-```
-
-## Запуск MongoDB
-
-Вам нужно будет запустить MongoDB, прежде чем вы сможете запустить приложение:
-
-Запустите сервер MongoDB в отдельном терминале
-
-- На macOS или Ubuntu:
-
- ```shell
- mongod
- ```
-
-- На Windows нужно указывать полный путь к бинарному файлу `mongod`
-
- Замените `3.6` на установленную у вас версию
-
- ```shell
- "C:\Program Files\MongoDB\Server\3.6\bin\mongod"
- ```
-
-> Подсказка:
-> Вы можете избежать необходимости запускать MongoDB каждый раз, установив его в качестве фоновой службы.
-> Вы можете [узнать больше из документации для вашей ОС](https://docs.mongodb.com/manual/administration/install-community/)
-
-### Заполнение базы данных
-
-Далее, рассмотрим базу данных. На этом шаге мы запускаем следующую команду, которая заполнит сервер MongoDB некоторыми необходимыми начальными данными, требуемыми другими службами. Это так же включает в себя несколько схем.
-
-```shell
-npm run seed
-```
-
-### Запуск клиентского приложение freeCodeCamp и API
-
-Теперь можно запустить API-сервер и клиентские приложения.
-
-```shell
-npm run develop
-```
-
-Эта единственная команда запустит все службы, включая API-сервер и клиентские приложения, доступные для работы.
-
-Теперь откройте веб-браузер и зайдите на . Если приложение загружается, поздравляем – все готово.
-
-> Подсказка:
->
-> API-сервер разворачивается на `http://localhost:3000`
-> Клиентское приложение разворачивается при помощи Gatsby на `http://localhost:8000`
-
-Если вы посетите , вы увидите API, которые у нас есть.
-
-Поздравляем 🎉! Теперь у вас есть копия всей учебной платформы freeCodeCamp, работающей на вашем локальном компьютере.
-
-## Краткий справочник по командам при работе локально
-
-[Вот краткий справочник](/docs/russian/README.md) списка команд, которые могут понадобиться локально время от времени.
-
-## Внесение изменений в вашу локальную копию freeCodeCamp
-
-Далее, вы можете вносить изменения в файлы и зафиксировать их.
-
-Выполните следующие действия:
-
-1. Убедитесь, что вы находитесь в ветке `master`
-
- ```shell
- git status
- ```
-
- Вы должны получить такой результат:
-
- ```shell
- On branch master
- Your branch is up-to-date with 'origin/master'.
-
- nothing to commit, working directory clean
- ```
-
- Если вы не находитесь не в `master` или ваш рабочий каталог не пуст, разрешить любые различия в файлах/коммитах и переключитесь в ветку `master`:
-
- ```shell
- git checkout master
- ```
-
-2. Далее, вам необходимо сделать `rebase` из `upstream`.
-
- Это действие **синхронизирует последние изменения** с главном репозиторием freeCodeCamp. Важно, чаще делать `rebase`, чтобы избежать конфликтов.
-
- ```shell
- git pull --rebase upstream master
- ```
-
- Вы так же можете добавить эти изменения к себе в удалённый репозиторий, чтобы иметь чистую историю коммитов в вашем форке на GitHub.
-
- ```shell
- git push origin master --force
- ```
-
-3. Далее, вам нужно создать новую ветку.
-
- Работа в отдельной ветке для каждой отдельной проблемы помогает поддерживать чистоту локальной рабочей копии. Вы никогда не должны работать в `master`. Это испортит вашу копию freeCodeCamp, и вам, возможно, придется начать все сначала со свежего клона или форка.
-
- Убедитесь, что вы находитесь в `master`, как объяснялось ранее, и сделайте новую ветку от неё:
-
- ```shell
- git checkout -b fix/update-guide-for-xyz
- ```
-
- Ваше имя ветки должно начаться с `fix/`, `feat/` и т. д. Избегайте использования номеров вопросов в ветках. Держите их короткими, значимыми и уникальными.
-
- Вот некоторые примеры хороших имен:
-
- ```md
- fix/update-challenges-for-react
- fix/update-guide-for-html-css
- fix/platform-bug-sign-in-issues
- feat/add-guide-article-for-javascript
- translate/add-spanish-basic-html
- ```
-
-4. Далее, вы можете работать на страницах редактирования и работы над кодом в вашем любимом текстовом редакторе.
-
-5. После того, как вы будете довольны изменениями, необходимо запустить freeCodeCamp локально для предварительного просмотра изменений.
-
-6. Обязательно исправьте ошибки и проверьте форматирование ваших изменений. У нас есть руководство по стилю для статей руководства и проблем с кодом.
-
-7. Затем проверьте и подтвердите файлы, которые вы обновляете:
-
- ```shell
- git status
- ```
-
- Должен показаться список неиндексированных файлов, которые вы редактировали.
-
- ```shell
- On branch feat/documentation
- Your branch is up to date with 'upstream/feat/documentation'.
-
- Changes not staged for commit:
- (use "git add/rm ..." to update what will be committed)
- (use "git checkout -- ..." to discard changes in working directory)
-
- modified: CONTRIBUTING.md
- modified: docs/README.md
- modified: docs/how-to-setup-freecodecamp-locally.md
- modified: docs/how-to-work-on-guide-articles.md
- ...
- ```
-
-8. Подготовьте изменения и сделайте коммит.
-
- На этом шаге необходимо отметить только файлы, которые были отредактированы или добавлены. Можно выполнить сброс и разрешить файлы, которые не предполагалось изменять:
-
- ```shell
- git add path/to/my/changed/file.ext
- ```
-
- Или же можно добавить все `неиндексированные` файлы в индексацию:
-
- ```shell
- git add .
- ```
-
- При фиксации будут добавлены только файлы, имеющие индексацию:
-
- ```shell
- git status
- ```
-
- Вывод:
- ```shell
- On branch feat/documentation
- Your branch is up to date with 'upstream/feat/documentation'.
-
- Changes to be committed:
- (use "git reset HEAD ..." to unstage)
-
- modified: CONTRIBUTING.md
- modified: docs/README.md
- modified: docs/how-to-setup-freecodecamp-locally.md
- modified: docs/how-to-work-on-guide-articles.md
- ```
-
- Теперь вы можете зафиксировать изменения с помощью короткого сообщения:
-
- ```shell
- git commit -m "fix: my short commit message"
- ```
-
- Примеры:
-
- ```md
- fix: update guide article for Java - for loop
- feat: add guide article for alexa skills
- ```
-
- Не обязательно:
-
- Мы настоятельно рекомендуем делать обычное название коммитов. Это хорошая практика, которую вы увидите в некоторых популярных репозиториях с открытым исходным кодом. Как разработчика, это побуждает вас следовать стандартным практикам.
-
- Примеры стандартных названий коммитов:
-
- ```md
- fix: update HTML guide article
- fix: update build scripts for Travis-CI
- feat: add article for JavaScript hoisting
- docs: update contributing guidelines
- ```
-
- Делайте их короткими, не более 50 символов. Вы всегда можете добавить дополнительную информацию в описании коммита.
-
- Это не займет больше времени, чем нетрадиционное сообщение типа 'update file' или 'add index.md'
-
- Вы можете узнать больше об [именовании коммитов здесь](https://www.conventionalcommits.org/en/v1.0.0-beta.2/#why-use-conventional-commits).
-
-9. Если вы понимаете, что вам нужно отредактировать файл или обновить название коммита во время фиксации, вы можете сделать это после редактирования файлов с помощью:
-
- ```shell
- git commit --amend
- ```
-
- Это откроет текстовый редактор по умолчанию, такой как `nano` или `vi`, где вы можете редактировать название коммита и добавлять/редактировать описание.
-
-10. Далее, вам нужно добавить ваши изменения в ваш репозиторий
-
- ```shell
- git push origin branch/name-here
- ```
-
-## Создание пулл реквеста (PR)
-
-1. После фиксации изменений вам будет предложено создать пулл реквест на странице GitHub вашего форка.
-
- 
-
-2. По умолчанию все пулл реквесты должны быть созданы в главный репозиторий freeCodeCamp, в ветку `master`.
-
- Убедитесь, что **base fork:** `freeCodeCamp/freeCodeCamp` при создании пулл реквеста
-
- 
-
-3. Отправьте пулл реквест из вашей ветки в ветку `master` freeCodeCamp
-
-4. В теле PR включают более подробное описание того, что было изменено и почему.
-
- - Вам будет представлен шаблон пулл реквеста. Это контрольный список, который необходимо было выполнить перед открытием PR на добавление внесенных изменений.
-
- - Заполните этот шаблон. Эта информация будет рассмотрена и повлияет на то, будет ли ваш пулл реквест принят.
-
- - Если PR предназначен для исправления существующей ошибки/проблемы, то в конце вашего PR добавьте ключевое слово `closes` и #xxxx (где xxxx это номер проблемы). Например: `closes #1337`. Это укажет GitHub автоматически закрыть существующую проблему, если PR принят и объединён.
-
-5. Укажите, тестировались ли вы на локальной копии сайта или нет.
-
- - Это очень важно при внесении изменений, которые не редактируют markdown файлы. Например, изменения в CSS или JavaScript, и т. д.
-
-## Ваш PR принят
-
-## Получить помощь
-
-Если вы застряли и вам нужна помощь, сообщите нам об этом, спросив в [категории 'участники' на нашем форуме](https://forum.freecodecamp.org/c/contributors) или в [чате участников](https://gitter.im/FreeCodeCamp/Contributors) на Gitter.
-
-Может возникнуть ошибка в консоли браузера или в Bash/терминале/командной строке, которая поможет определить проблему.
-
-### Устранение неисправностей
-
-Если приложение запускается, но возникают ошибки с самим пользовательским интерфейсом, например, если шрифты не загружаются или если редактор кода отображается неправильно, можно попробовать следующие действия по устранению неполадок:
-
-```shell
-# Удалить все установленные NPM пакеты
-rm -rf node_modules ./**/node_modules
-
-# Переустановить NPM пакеты
-npm install
-
-# Загрузить проект
-npm run bootstrap
-
-# Заполнить базу данных
-npm run seed
-
-# Перезапустить приложение
-npm run develop
-```
diff --git a/docs/i18n-languages/russian/how-to-work-on-coding-challenges.md b/docs/i18n-languages/russian/how-to-work-on-coding-challenges.md
deleted file mode 100644
index 8e86e4e563..0000000000
--- a/docs/i18n-languages/russian/how-to-work-on-coding-challenges.md
+++ /dev/null
@@ -1,98 +0,0 @@
-
-| [Read these guidelines in other languages](/docs/i18n-languages) |
-|-|
-
-
-# Как работать над задачами по разработке
-
-### Изменения на GitHub
-
-Каждая задача хранится в собственном файле разметки. Это упрощает редактирование задач прямо из GitHub.
-
-Вы можете сделать изменения без каких-либо операций в вашей локальной системе.
-
-После того, как вы найдете файл, который хотите изменить в интерфейсе GitHub, щелкните значок карандаша, чтобы начать редактирование файла. Это автоматически создаст форк проекта, если у вас его еще нет.
-
-Вы также можете клонировать проект и редактировать локально на своем компьютере. Для получения помощи, прочитайте [гайд для содействующих](/CONTRIBUTING.md).
-
-### Шаблон задачи
-
-Вот шаблон того, как выглядят файлы разметки задачи.
-
-````md
----
-id: Уникальный идентификатор (алфавитно-цифровой, MongoDB _id)
-title: Название задачи
-challengeType: 0
-guideUrl: 'url статьи руководства'
-videoUrl: 'url видео объяснения'
----
-
-## Описание
-
-Описание задачи и того, что требуется для прохождения.
-
-
-## Инструкции
-
-Инструкции о том, что именно нужно сделать.
-
-## Тесты
-
-
-``` yml
-- text: Должен возвращать "foo".
- testString: 'Строковая функция с использованием Chai'
-```
-
-
-
-
-
-```js
-Код, по умолчанию отображаемый в редакторе.
-```
-
-
-
-### Перед тестом
-
-
-```js
-Код для настройки тестирования.
-```
-
-
-
-
-
-### После теста
-
-
-```js
-Код для проверки - пройден ли тест.
-```
-
-