docs: update contributing guides (#36816)

This commit is contained in:
mrugesh
2019-09-20 23:56:56 +05:30
committed by GitHub
parent 0c68f6a605
commit a5b176be88
61 changed files with 552 additions and 1886 deletions

View File

@ -1,54 +1,39 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> Русский </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/greek/CONTRIBUTING.md"> Ελληνικά </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Contribution Guidelines
Hello 👋!
Hello. 👋
freeCodeCamp.org is possible, thanks to thousands of kind volunteers like you. We are grateful for your contributions and we are excited to welcome you aboard.
We strictly enforce our ["Code of Conduct"](https://www.freecodecamp.org/code-of-conduct). Take a moment to read it. It's only 196 words long.
Happy contributing 🎉!
Happy contributing.
## Here are some fun ways that you can help
You can choose to contribute to any area that interests you:
You can contribute to any of these:
1. [Contribute to this open source codebase](#contribute-to-this-open-source-codebase). Help to edit [guide articles](https://guide.freecodecamp.org/), [coding challenges](https://learn.freecodecamp.org/), or fix bugs on the learning platform.
1. [Contribute to this open source codebase](#contribute-to-this-open-source-codebase). Help us edit coding challenges, or fix bugs on the learning platform.
2. Help campers on our [public forum](https://www.freecodecamp.org/forum/). [Answer their coding questions](https://www.freecodecamp.org/forum/?max_posts=1) or [give them feedback on their coding projects](https://www.freecodecamp.org/forum/c/project-feedback?max_posts=1).
3. Help us add subtitles or closed captions to our [YouTube channel videos](https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ/videos).
3. Help us add subtitles (closed captions) to our [YouTube channel videos](https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ/videos).
## Contribute to this open source codebase
We have a huge open source codebase consisting of thousands of [coding challenges](https://learn.freecodecamp.org) and [guide articles](https://guide.freecodecamp.org).
Our codebase has thousands of [coding challenges](https://learn.freecodecamp.org) and other source code that powers our learning platform.
You can help us to:
- [💻 Create, Update and Fix Bugs in our coding challenges](#create-update-and-fix-bugs-in-our-coding-challenges)
- [🛠 Fix bugs in freeCodeCamp.org's learning platform](#help-us-fix-bugs-in-freecodecamporgs-learning-platform)
### Create, Update and Fix Bugs in our coding challenges
### Create, update and fix bugs in our coding challenges
All our coding challenges are curated by the community, bringing in expert knowledge from volunteers like you.
You can help expand them and make their wording clearer. You can update the user stories to explain the concept better and even remove redundant ones. You can also improve the challenge tests to make them more accurately test people's code.
If you're interested in improving these coding challenges, here's [how to work on coding challenges](/docs/how-to-work-on-coding-challenges.md).
**If you're interested in improving these coding challenges, here's [how to work on coding challenges](/docs/how-to-work-on-coding-challenges.md).**
### Help us fix bugs in freeCodeCamp.org's learning platform

View File

@ -5,7 +5,7 @@
[![Open Source Helpers](https://www.codetriage.com/freecodecamp/freecodecamp/badges/users.svg)](https://www.codetriage.com/freecodecamp/freecodecamp)
[![Setup Automated](https://img.shields.io/badge/setup-automated-blue?logo=gitpod)](https://gitpod.io/from-referrer/)
## Welcome to freeCodeCamp.org's open source codebase and curriculum
## freeCodeCamp.org's open source codebase and curriculum
[freeCodeCamp.org](https://www.freecodecamp.org) is a friendly community where you can learn to code for free. It is run by a [donor-supported 501(c)(3) nonprofit](https://donate.freecodecamp.org) with the goal of helping millions of busy adults transition into tech. Our community has already helped more than 10,000 people get their first developer job.
@ -123,16 +123,16 @@ Our community also has:
- A [forum](https://www.freecodecamp.org/forum) where you can usually get programming help or project feedback within hours.
- A [YouTube channel](https://youtube.com/freecodecamp) with free courses on Python, SQL, Android, and a wide variety of other technologies.
- A [podcast](https://podcast.freecodecamp.org/) with technology insights and inspiring stories from developers.
- [Local study groups](https://study-group-directory.freecodecamp.org/) around the world, where you can code together in person
- A comprehensive [guide to thousands of programming topics](https://guide.freecodecamp.org/)
- A [Developer News](https://www.freecodecamp.org/news) publication, a free, open source, no-ads place to cross-post your blog articles.
- A [Facebook group](https://www.facebook.com/groups/freeCodeCampEarth/permalink/428140994253892/) with over 100,000 members worldwide
> ### [Join our community here](https://www.freecodecamp.org/signin).
### Reporting Bugs and Issues
If you think you've found a bug, first read the [How to Report a Bug](https://www.freecodecamp.org/forum/t/how-to-report-a-bug/19543) article and follow its instructions. If you're confident it's a new bug, and have confirmed that someone else is facing the same issue, go ahead and create a new GitHub issue. Be sure to include as much information as possible so we can reproduce the bug.
If you think you've found a bug, first read the [how to report a bug](https://www.freecodecamp.org/forum/t/how-to-report-a-bug/19543) article and follow its instructions.
If you're confident it's a new bug, and have confirmed that someone else is facing the same issue, go ahead and create a new GitHub issue. Be sure to include as much information as possible so we can reproduce the bug.
### Reporting Security Issues
@ -144,7 +144,7 @@ If you think you have found a vulnerability, please report responsibly. Don't cr
### Platform, Build and Deployment Status
The build and deployment status for the code is available in [our DevOps Guide](/docs/devops.md). The general platform status for all our applications is available at [`status.freecodecamp.org`](https://status.freecodecamp.org)
The general platform status for all our applications is available at [`status.freecodecamp.org`](https://status.freecodecamp.org). The build and deployment status for the code is available in [our DevOps Guide](/docs/devops.md).
### License

View File

@ -1,52 +1,7 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/docs/README.md"> English </a></td>
<td><a href="/docs/arabic/document-quick-reference.md"> عربي </a></td>
<td><a href="/docs/chinese/document-quick-reference.md"> 中文 </a></td>
<td><a href="/docs/french/README.md"> Français </a></td>
<td><a href="/docs/german/document-quick-reference.md"> Deutsch </a></td>
<td><a href="/docs/greek/document-quick-reference.md"> Ελληνικά </a></td>
<td><a href="/docs/japanese/document-quick-reference.md"> 日本語 </a></td>
<td><a href="/docs/korean/document-quick-reference.md"> 한국어 </a></td>
<td><a href="/docs/portuguese/document-quick-reference.md"> Português </a></td>
<td><a href="/docs/russian/document-quick-reference.md"> русский </a></td>
<td><a href="/docs/spanish/document-quick-reference.md"> Español </a></td>
</tr>
</table>
<!--
# Documentation Quick Reference
This file should not be translated.
Hello 👋!
-->
This directory contains all of the documentation on contributing to freeCodeCamp.org
> ### [If you are getting started, start by reading this first.](/CONTRIBUTING.md)
## Quick references articles
<a href="/docs/how-to-work-on-guide-articles.md">1. How to work on Guide articles.</a><br>
<a href="/docs/how-to-work-on-coding-challenges.md">2. How to work on Coding Challenges.</a><br>
<a href="/docs/how-to-setup-freecodecamp-locally.md">3. How to setup freeCodeCamp locally.</a><br>
<a href="/docs/how-to-catch-outgoing-emails-locally.md">4. How to catch outgoing emails locally.</a>
<a href="/docs/devops.md">5. DevOps Guide for Core Team.</a>
## Style guides
<a href="/docs/how-to-work-on-guide-articles.md">1. Style guide for creating guide articles.</a><br>
<a href="/docs/how-to-work-on-coding-challenges.md">2. Style guide for creating coding challenges.</a>
## Quick commands reference when working locally
A quick reference to the commands that you will need when working locally.
| command | description |
| ------- | ----------- |
| `npm ci` | Bootstraps the different services. |
| `npm run seed` | Parse 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:server` | Run the server test suite. |
> ### If you are getting started, [you should read our contributing guidelines](/CONTRIBUTING.md) first.

View File

@ -1,62 +0,0 @@
<table>
<tr>
<td> Read these guidelines in </td>
<td><a href="/docs/README.md"> English </a></td>
<td><a href="/docs/arabic/document-quick-reference.md"> عربي </a></td>
<td><a href="/docs/chinese/document-quick-reference.md"> 中文 </a></td>
<td><a href="/docs/french/README.md"> Français </a></td>
<td><a href="/docs/german/document-quick-reference.md"> Deutsch </a></td>
<td><a href="/docs/greek/document-quick-reference.md"> Ελληνικά </a></td>
<td><a href="/docs/japanese/document-quick-reference.md"> 日本語 </a></td>
<td><a href="/docs/korean/document-quick-reference.md"> 한국어 </a></td>
<td><a href="/docs/portuguese/document-quick-reference.md"> Português </a></td>
<td><a href="/docs/russian/document-quick-reference.md"> русский </a></td>
<td><a href="/docs/spanish/document-quick-reference.md"> Español </a></td>
</tr>
</table>
# مرجع مختصر للمستندات
السلام عليكم !
هذا الملف يحتوي على كافة المستندات للمشاركة في
freecodecamp.org
## [إذا كنت مبتدأ, قم بقراءة هذا المستند أولا](/CONTRIBUTING.md)
---
## مقالات مرجعية مختصرة
1. [كيفية العمل على المقالات الاسترشادية.](how-to-work-on-guide-articles.md)
2. [كيفية العمل على التحديات البرمجية.](how-to-work-on-coding-challenges.md)
3. [كيفية العمل على Freecodecamp على جهازك الخاص.](how-to-setup-freecodecamp-locally.md)
4. [كيفية الحصول على رسائل البريد الالكتروني الخارجية على جهازك الخاص.](how-to-catch-outgoing-emails-locally.md)
## قواعد استرشادية لنمط المشاركات
1. [قواعد استرشادية لكيفية كتابة مقالات استرشادية.](style-guide-for-guide-articles.md)
2. [قواعد استرشادية لكيفية كتابة تحديات برمجية.](style-guide-for-curriculum-challenges.md)
## مرجع مختصر للأوامر المستخدمة عند العمل على جهازك الخاص
مجموعة من الأوامر اللتي ستحتاجها عند العمل على جهازك الخاص دون الاتصال بالانترنت
| الأمر | الوصف |
| ------- | ----------- |
| `npm run bootstrap` | تسهيل الخدمات المختلفة |
| `npm run seed` | تحليل كل ملفات الmarkdown الخاصة بالتحدي و ادخالهم الى MongoDB. |
| `npm run develop` | freeCodeCamp API Server and Client Apps البدأ باستخدام |
| `npm test` | القيام باجراء كافة اختبارات الجافاسكريبت شاملة الخاصة بالجهاز المستخدم و الخادم و التحدي |
| `npm run test:client` | اجراء الاختبار على الجهاز المستخدم |
| `npm run test:curriculum` | اجراء الاختبار الخاص بالمسار التعليمي |
| `npm run test:server` | اجراء الاختبار الخاص بالخادم |
| `npm run commit` | اداة تفاعلية تساعد على عمل رسالة commit جيدة |

View File

@ -1,17 +0,0 @@
<table>
<tr>
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
# Contribution Guidelines
Hello 👋 !
These instructions have not been translated yet. Please check this issue for details: [`#18312`](https://github.com/freeCodeCamp/freeCodeCamp/issues/18312)

View File

@ -1,17 +0,0 @@
<table>
<tr>
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
# Contribution Guidelines
Hello 👋 !
These instructions have not been translated yet. Please check this issue for details: [`#18312`](https://github.com/freeCodeCamp/freeCodeCamp/issues/18312)

View File

@ -1,17 +0,0 @@
<table>
<tr>
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
# Contribution Guidelines
Hello 👋 !
These instructions have not been translated yet. Please check this issue for details: [`#18312`](https://github.com/freeCodeCamp/freeCodeCamp/issues/18312)

View File

@ -1,17 +0,0 @@
<table>
<tr>
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
# Contribution Guidelines
Hello 👋 !
These instructions have not been translated yet. Please check this issue for details: [`#18312`](https://github.com/freeCodeCamp/freeCodeCamp/issues/18312)

View File

@ -1,57 +0,0 @@
<table>
<tr>
<td> 此指南可阅读的语言版本 </td>
<td><a href="/docs/README.md"> English </a></td>
<td><a href="/docs/arabic/document-quick-reference.md"> عربي </a></td>
<td><a href="/docs/chinese/document-quick-reference.md"> 中文 </a></td>
<td><a href="/docs/french/README.md"> Français </a></td>
<td><a href="/docs/german/document-quick-reference.md"> Deutsch </a></td>
<td><a href="/docs/greek/document-quick-reference.md"> Ελληνικά </a></td>
<td><a href="/docs/japanese/document-quick-reference.md"> 日本語 </a></td>
<td><a href="/docs/korean/document-quick-reference.md"> 한국어 </a></td>
<td><a href="/docs/portuguese/document-quick-reference.md"> Português </a></td>
<td><a href="/docs/russian/document-quick-reference.md"> русский </a></td>
<td><a href="/docs/spanish/document-quick-reference.md"> Español </a></td>
</tr>
</table>
# Documentation快速参考
您好 👋!
该目录包含有关贡献于 freeCodeCamp.org 的所有文档
## [如果您已经开始,请先阅读此内容。](/docs/chinese/CONTRIBUTING.md)
---
## 快速参考文章
1. 如何处理指南文章。
2. 如何处理编码挑战。
3. 如何在本地设置freeCodeCamp。
4. 如何在本地捕获外发电子邮件.
## 风格指南
1. 创建指南文章的样式指南。
2. 创建编码挑战的样式指南。
##在本地工作时引用的快速命令
在本地工作时快速参考您需要的命令。
| 命令 | 描述 |
| ------- | ----------- |
| `npm run bootstrap` | 引导不同的服务 |
| `npm run seed` | 解析所有质询标记文件并将其插入MongoDB。 |
| `npm run develop` | 启动freeCodeCamp API服务器和客户端应用程序 |
| `npm test` | 在系统中运行所有JS测试包括客户端服务器lint和质询测试 |
| `npm run testclient` | 运行客户端测试套件 |
| `npm run testcourses` | 运行课程测试套件 |
| `npm run testserver` | 运行服务器测试套件 |
| `npm run commit` | 一个帮助您构建良好提交消息的交互式工具 |

View File

@ -1,3 +1,8 @@
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# DevOps Guide
> ### :warning: THIS GUIDE IS NOT LIVE YET. :warning:

View File

@ -1,54 +0,0 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/docs/README.md"> English </a></td>
<td><a href="/docs/arabic/document-quick-reference.md"> عربي </a></td>
<td><a href="/docs/chinese/document-quick-reference.md"> 中文 </a></td>
<td><a href="/docs/french/README.md"> Français </a></td>
<td><a href="/docs/german/document-quick-reference.md"> Deutsch </a></td>
<td><a href="/docs/greek/document-quick-reference.md"> Ελληνικά </a></td>
<td><a href="/docs/japanese/document-quick-reference.md"> 日本語 </a></td>
<td><a href="/docs/korean/document-quick-reference.md"> 한국어 </a></td>
<td><a href="/docs/portuguese/document-quick-reference.md"> Português </a></td>
<td><a href="/docs/russian/document-quick-reference.md"> русский </a></td>
<td><a href="/docs/spanish/document-quick-reference.md"> Español </a></td>
</tr>
</table>
# Référence rapide de la documentation
Bonjour 👋 !
Ce répertoire contient toute la documentation sur comment contribuer à freeCodeCamp.org
## [Si vous commencez, commencez par lire ceci en premier.](/CONTRIBUTING.md)
---
## Articles de référence rapide
<a href="/how-to-work-on-guide-articles.md">1. Comment travailler sur les articles du Guide.</a>
<a href="/how-to-work-on-coding-challenges.md">2. Comment travailler sur les Coding Challenges.</a>
<a href="/how-to-setup-freecodecamp-locally.md">3. Comment configurer freeCodeCamp localement.</a>
<a href="/how-to-catch-outing-emails-locally.md">4. Comment récupérer les e-mails sortants localement.</a>
## Guides de style
1. Guide de style pour la création d'articles de guide.
2. Guide de style pour créer des défis de codage.
## Référence rapide des commandes lorsque vous travaillez en local
Une référence rapide aux commandes dont vous aurez besoin, si vous travaillez en local.
| commande | description |
| -------- | ----------- |
| `npm run bootstrap` | Démarre les différents services. |
| `npm run seed` | Analyse tous les fichiers markdown de défi et les insére dans MongoDB. |
| `npm run develop` | Démarre le serveur d'API FreeCodeCamp et les applications client. |
| `npm test` | Exécute tous les tests JS dans le système, y compris les tests client, serveur, lint et défi. |
| `npm run test:client` | Exécute la suite de tests client. |
| `npm run test:curriculum` | Exécute la suite de tests du programme d'étude. |
| `npm run test:server` | Exécute la suite de tests du serveur. |
| `npm run commit` | Un outil interactif pour vous aider à construire un bon message de *commit*. |

View File

@ -1,54 +0,0 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/docs/README.md"> English </a></td>
<td><a href="/docs/arabic/document-quick-reference.md"> عربي </a></td>
<td><a href="/docs/chinese/document-quick-reference.md"> 中文 </a></td>
<td><a href="/docs/french/README.md"> Français </a></td>
<td><a href="/docs/german/document-quick-reference.md"> Deutsch </a></td>
<td><a href="/docs/greek/document-quick-reference.md"> Ελληνικά </a></td>
<td><a href="/docs/japanese/document-quick-reference.md"> 日本語 </a></td>
<td><a href="/docs/korean/document-quick-reference.md"> 한국어 </a></td>
<td><a href="/docs/portuguese/document-quick-reference.md"> Português </a></td>
<td><a href="/docs/russian/document-quick-reference.md"> русский </a></td>
<td><a href="/docs/spanish/document-quick-reference.md"> Español </a></td>
</tr>
</table>
# Kurzübersicht der Dokumentation
Hallo 👋!
Dieses Verzeichnis enthält die Dokumentation, die benötigt wird um Code zu freeCodeCamp.org beizutragen.
## [Lies dir dieses Dokument durch, bevor du startest.](/CONTRIBUTING.md)
---
## Kurzübersicht über die Artikel
1. Wie man Guide-Artikel bearbeitet.
2. Wie man Coding-Challenges bearbeitet.
3. Wie man freeCodeCamp lokal aufsetzt.
4. Wie man E-mails, die lokal versendet werden, abfängt.
## Style guides
1. Style-Guide für das Erstellen von Guide-Artikeln.
2. Style-Guide für das Erstellen von Coding-Challenges.
## Kurzübersicht über die Kommandos bei lokaler Bearbeitung
Kurzübersicht über die Kommandos, die benötigt werden, um das Projekt lokal zu bearbeiten
| Kommando | Beschreibung |
| -------- | ------------ |
| `npm run bootstrap` | Lädt die verschiedenen Dienste |
| `npm run seed` | Liest alle Challenge-Markdown-Dateien ein, und trägt diese in die MongoDB ein. |
| `npm run develop` | Startet den freeCodeCamp API-Server und die Client Apps |
| `npm test` | Lässt alle JS-Tests im System laufen, inklusive Client-, Server-, Lint- und Challenge-Tests |
| `npm run test:client` | Lässt alle Client-Tests laufen |
| `npm run test:curriculum` | Lässt alle Curriculum-Tests laufen |
| `npm run test:server` | Lässt alle Server-Tests laufen |
| `npm run commit` | Ein interaktives Tool, um gute Commit-Nachrichten zu erstellen |

View File

@ -1,142 +0,0 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربى </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> Русский </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/greek/CONTRIBUTING.md"> Ελληνικά </a></td>
</tr>
</table>
# Οδηγίες για συνεισφορά
Γειά χαρά 👋!
Το freeCodeCamp.org υπάρχει χάρη σε χιλιάδες ευγενείς εθελοντές σαν και εσένα. Είμαστε ευγνώμονες για τις συνεισφορές σου και είμαστε ενθουσιασμένοι που σε καλωσορίζουμε μαζί μας.
Επιβάλουμε αυστηρά τον ["Κώδικα δεοντολογίας"](https://www.freecodecamp.org/code-of-conduct). Διαβάστε τον εύκολα σε ένα λεπτό. Είναι μόνο 196 λέξεις.
Καλή συνεισφορά 🎉!
## Εδώ είναι μερικοί διασκεδαστικοί τρόποι που μπορείς να βοηθήσεις
Μπορείς να επιλέξεις να συνεισφέρεις σε οποιαδήποτε περιοχή σε ενδιαφέρει:
1. [Συνείσφερε σε αυτή τη βάση ανοικτού κώδικα](#contribute-to-this-open-source-codebase). Βοήθησε στην επεξεργασία [άρθρων οδηγιών](https://guide.freecodecamp.org/), [προκλήσεις κωδικοποίησης](https://learn.freecodecamp.org/), ή διόρθωσε σφάλματα στην πλατφόρμα εκμάθησης.
2. Βοηθήσε τους κατασκηνωτές στο [δημόσιο φόρουμ](https://www.freecodecamp.org/forum/) μας. [Απάντησε στις ερωτήσεις τους για την συγγραφή κώδικα](https://www.freecodecamp.org/forum/?max_posts=1) ή [δώσε ανταπόκριση για τα πρότζεκτ τους](https://www.freecodecamp.org/forum/c/project-feedback?max_posts=1)
3. Βοήθησέ μας να προσθέσουμε υπότιτλους στο [κανάλι μας στο YouTube](https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ/videos).
## Contribute to this open source codebase
We have a huge open source codebase consisting of thousands of [coding challenges](https://learn.freecodecamp.org) and [guide articles](https://guide.freecodecamp.org).
You can help us to:
- [📝 Research, Write and Update our guide articles](#research-write-and-update-our-guide-articles)
- [💻 Create, Update and Fix Bugs in our coding challenges](#create-update-and-fix-bugs-in-our-coding-challenges)
- [🌐 Translate guide articles and coding challenges](#translate-guide-articles-and-coding-challenges)
- [🛠 Fix bugs in freeCodeCamp.org's learning platform](#help-us-fix-bugs-in-freecodecamporgs-learning-platform)
### Research, Write and Update our guide articles
**What are Guide articles?**
Guide articles help you to get a quick understanding of a technology concept. These are short, plain-English explanations that you can read before going on to more in-depth resources.
You can find an [example article about HTML Anchor Elements here](https://github.com/freeCodeCamp/freeCodeCamp/blob/master/guide/english/html/elements/a-tag/index.md).
**What can I write an article about?**
We welcome your help in writing these articles. You don't have to be an expert in a topic to write about it—this entire Guide is open source, so even if you make a mistake, another contributor will eventually correct it.
To help, find a `stub article` on our [Guide website](https://guide.freecodecamp.org), write the article, then open a pull request to replace the stub with your article. A [pull request](https://help.github.com/articles/about-pull-requests/) is how you'll suggest changes. It lets others know about, review, and eventually adopt your changes.
If you can't find a stub about the topic you'd like to write about, you can open a PR that creates the stub and includes your draft article.
If you would like to help improve guide articles, here's [how to work on guide articles](/docs/how-to-work-on-guide-articles.md).
### Create, Update and Fix Bugs in our coding challenges
All our Coding challenges are curated by the community, bringing in expert knowledge from volunteers like you.
You can help expand them and make their wording more clear. You can update the user stories to explain the concept better and even remove redundant ones. You can also improve the challenge tests to make them more accurately test people's code.
If you're interested in improving these coding challenges, here's [how to work on coding challenges](/docs/how-to-work-on-coding-challenges.md).
### Translate guide articles and coding challenges
You can help us to translate our Guide articles and Coding challenges into a language that you speak. Currently we have translated versions in:
- [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)
We would love your help in improving the quality of these translations. Millions of people use the English language version of freeCodeCamp.org, and we expect millions more to use these translated versions as well.
### Help us fix bugs in freeCodeCamp.org's learning platform
Our learning platform runs on a modern JavaScript stack. It has various components, tools and libraries including but not limited to Node.js, MongoDB, LoopBack, OAuth 2.0, React, Gatsby, Webpack, and more.
Broadly,
- We have a Node.js based API server.
- A set of React based client applications.
- A script that we use to evaluate our Frontend projects.
Contributing to this requires some understanding of APIs, ES6 Syntax and a lot of curiosity.
Essentially we expect basic familiarity with some of the aforementioned technologies, tools and libraries. That being said, you are not required to be an expert on them in order to contribute.
Feel free to ask us questions on the related issue threads and we will be glad to answer them. When in doubt, you can reach Mrugesh Mohapatra [`@raisedadead`](https://github.com/raisedadead) or Stuart Taylor [`@bouncey`](https://github.com/bouncey) from our platform dev team to help you with this.
If you want to help us improve our codebase, here's [how to setup freeCodeCamp locally](/docs/how-to-setup-freecodecamp-locally.md).
## Frequently Asked Questions
**How can I report a bug that is not on board?**
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://www.freecodecamp.org/forum) 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 stuck on something that is not included in this documentation. How can I get help?**
Feel free to ask for help in:
- [The "Contributors" category of our public forum](https://www.freecodecamp.org/forum/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. 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.
**I am new to GitHub and Open Source in general:**
Read our [How to Contribute to Open Source Guide](https://github.com/freeCodeCamp/how-to-contribute-to-open-source).
**What do these different labels that are tagged on issues mean?**
Our community moderators [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).
You should go through **`Help Wanted`** or **`first timers welcome`** issues for a quick overview of what is available for you to work on. These are up for grabs and you do not need to seek permission before working on them.
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 first creating an issue. Issues are more for discussing larger problems associated with code or structural aspects of the curriculum.

View File

@ -1,55 +0,0 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/docs/README.md"> English </a></td>
<td><a href="/docs/arabic/document-quick-reference.md"> عربي </a></td>
<td><a href="/docs/chinese/document-quick-reference.md"> 中文 </a></td>
<td><a href="/docs/french/README.md"> Français </a></td>
<td><a href="/docs/german/document-quick-reference.md"> Deutsch </a></td>
<td><a href="/docs/greek/document-quick-reference.md"> Ελληνικά </a></td>
<td><a href="/docs/japanese/document-quick-reference.md"> 日本語 </a></td>
<td><a href="/docs/korean/document-quick-reference.md"> 한국어 </a></td>
<td><a href="/docs/portuguese/document-quick-reference.md"> Português </a></td>
<td><a href="/docs/russian/document-quick-reference.md"> русский </a></td>
<td><a href="/docs/spanish/document-quick-reference.md"> Español </a></td>
</tr>
</table>
# Documentation Quick Reference
Γειά σας 👋!
Αυτός ο φάκελος περιέχει όλη την τεκμηρίωση σχετικά με τη συμβολή στο freeCodeCamp.org
## [If you are getting started, start by reading this first.](/CONTRIBUTING.md)
---
## Quick references articles
1. How to work on Guide articles.
2. How to work on Coding Challenges.
3. How to setup freeCodeCamp locally.
4. How to catch outgoing emails locally.
## Style guides
1. Style guide for creating guide articles.
2. Style guide for creating coding challenges.
## Quick commands reference when working locally
A quick reference to the commands that you will need, when working locally.
| command | description |
| ------- | ----------- |
| `npm run bootstrap` | Bootstraps the different services. |
| `npm run seed` | Parse 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:server` | Run the server test suite. |
| `npm run commit` | An interactive tool to help you build a good commit message. |

View File

@ -1,3 +1,8 @@
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Catch outgoing emails locally for email workflows
> **Note:** This is an **optional** step and is required only when working with email workflows

View File

@ -1,3 +1,8 @@
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# How to open a Pull Request
## How to prepare a good Pull Request title:

View File

@ -1,3 +1,8 @@
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Set up freeCodeCamp locally
Follow these guidelines for getting freeCodeCamp locally on your system. This is highly recommended if you want to contribute regularly.
@ -147,7 +152,7 @@ npm -v
If you have a different version, please install the recommended version. We can only support installation issues for recommended versions.
Windows users:
Windows users:
> Make sure the command line tool you use (e.g., cmd, PowerShell, Git Bash for Windows, WSL) has the correct user privileges. If possible, you should launch the tool with Administrator's privilege. On Windows you should be able to launch as administrator by right-clicking the application and selecting `Launch as an Administrator`.
#### I am having issues with installing the recommended prerequisites. What should I do?
@ -275,7 +280,25 @@ Simply clicking the `Preview Custom 404 Page` button will forward you to the cor
![Image - How to sign in when working locally](https://user-images.githubusercontent.com/1884376/52650951-48922e80-2f11-11e9-9eee-360a25ad28ad.gif)
## Quick commands reference when working locally
[Here is a quick reference](/docs/README.md) to a list of commands that you may occasionally need locally.
A quick reference to the commands that you will need when working locally.
**Docker Build:**
> ### Todo: Add docker quick command list
**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:server` | Run the server test suite. |
| `npm run clean` | Uninstalls all dependencies and cleans up caches. |
## Making changes to your clone of freeCodeCamp locally
You can now make changes to files and commit your changes to your local clone of your fork.

View File

@ -1,25 +1,37 @@
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# How to work on coding challenges
### Changing on GitHub
Our goal is to develop a fun and clear interactive learning experience.
Each challenge is stored in its own markdown file. That makes it easy to edit challenges right from within GitHub.
Designing interactive coding challenges is difficult. It would be much easier to write a lengthy explanation or to create a video tutorial, and there's a place for those on Medium and YouTube. However, for our core curriculum, we're sticking with what works best for most people - a fully interactive, video game-like experience.
You can make a change without having anything running on your local system.
We want campers to achieve a flow state. We want them to build momentum and blast through our curriculum with as few snags as possible. We want them to go into the projects with confidence and a wide exposure to programming concepts.
After you find the file you want to modify within the GitHub interface, click the pencil icon to start editing the file. This will automatically create a fork of the project, if you don't have one already.
Creating these challenges requires immense creativity and attention to detail. But you'll have plenty of help. You have support from a whole team of contributors, whom you can bounce ideas off of and demo your challenges to. Stay active in the [contributors room](https://gitter.im/freecodecamp/contributors) and ask lots of questions.
You can also clone the project and edit locally on your computer. For help with that, read the main [contributing guide](/CONTRIBUTING.md).
With your help, we can design an interactive coding curriculum that will help millions of people learn to code for years to come.
### Challenge Template
The content for each challenge is stored in its own markdown file. This markdown file is later coverted using our tools, to webpage that you can interact with. You can find all of freeCodeCamp.org's curricular content in the [`/curriculum`](/curriculum) directory.
There are two ways you can work on these challenges:
- We recommend, you clone the project and edit locally on your computer. For help with that, read our [contributing guidelines here](/CONTRIBUTING.md).
- Or optionally, you can modify a challenge within the GitHub interface, by clicking the pencil icon to start editing the file.
## Challenge Template
Below is a template of what the challenge markdown files look like.
**Notes:**
1. In the below sections, examples of `{ext}` are:
* `html` - HTML/CSS
* `js` - JavaScript
* `jsx` - JSX
- `html` - HTML/CSS
- `js` - JavaScript
- `jsx` - JSX
2. For the `Tests` section below, `text` and `testString` should be valid YAML strings. `testString` can be a stringified function or expression possibly using Chai asserts.
@ -58,7 +70,7 @@ tests:
<div id='{ext}-seed'>
```{ext}
Code displayed in the editor by default.
Code displayed in the editor by default.
This is a required section for the challenge.
```
@ -95,12 +107,209 @@ Optional Test tear down code.
</section>
````
## Numbering Challenges
Every challenge needs an `id`. If you don't specify one, then MongoDB will create a new random one when it saves the data; however, we don't want it to do that, since we want the challenge ids to be consistent across different environments (staging, production, lots of different developers, etc.).
To generate a new one in a shell (assuming MongoDB is running separately):
1. Run `mongo` command
2. Run `ObjectId()` command
For example:
```bash
$ mongo
MongoDB shell version v3.6.1
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.10
...
$ ObjectId()
ObjectId("5a474d78df58bafeb3535d34")
```
The result is a new id, for example `5a474d78df58bafeb3535d34` above.
Once you have your id, put it into the markdown file as the `id` field at the top, e.g.
```yml
---
id: 5a474d78df58bafeb3535d34
title: Challenge Title
```
## Naming challenges
Naming things is hard. We've made it easier by imposing some constraints.
All challenge titles should be explicit and should follow this pattern:
[verb] [object clause]
Here are some example challenge names:
- Use Clockwise Notation to Specify the Padding of an Element
- Condense arrays with .reduce
- Use Bracket Notation to Find the First Character in a String
## Writing challenge descriptions/instructions
Sentences should be clear and concise with minimal jargon. If used, jargon should be immediately defined in plain English.
Keep paragraphs short (around 1-4 sentences). People are more likely to read several short paragraphs over a wall of text.
Challenge text should use the second person ("you") to help to give it a conversational tone. This way, the text and instructions seem to speak directly to the camper working through the challenge. Try to avoid using the first person ("I", "we", "let's", and "us").
Don't use outbound links. These interrupt the flow. And campers should never have to google anything during these challenges. If there are resources you think campers would benefit from, add them to the challenge's Guide-related article.
You can add diagrams if absolutely necessary.
Don't use emojis or emoticons in challenges. freeCodeCamp has a global community, and the cultural meaning of an emoji or emoticon may be different around the world. Also, emojis can render differently on different systems.
Proper nouns should use correct capitalization when possible. Below is a list of words as they should appear in the challenges.
- JavaScript (capital letters in "J" and "S" and no abbreviations)
- Node.js
- Front-end development (adjective form with a dash) is when you're working on the front end (noun form with no dash). The same goes with "back end", "full stack", and many other compound terms.
### The 2-minute rule
Each challenge should be solvable within 120 seconds by a native English speaker who has completed the challenges leading up to it. This includes the amount of time it takes to read the directions/instructions, understand the seeded code, write their own code, and get all the tests to pass.
If it takes longer than two minutes to complete the challenge, you have two options:
- Simplify the challenge, or
- Split the challenge into two challenges.
The 2-minute rule forces you, the challenge designer, to make your directions concise, your seed code clear, and your tests straight-forward.
We have JavaScript events that track how long it takes for campers to solve challenges and we can use them to identify challenges that need to be simplified or split.
### Modularity
Each challenge should teach exactly one concept, and that concept should be apparent from the challenge's name.
We can reinforce previously covered concepts through repetition and variations - for example, introducing h1 elements in one challenge, then h3 elements a few challenges later.
Our goal is to have thousands of 2-minute challenges. These can flow together and reiterate previously-covered concepts.
### Formatting challenge text
Here are specific formatting guidelines for challenge text and examples:
- Language keywords go in `<code>` tags. For example, HTML tag names or CSS property names
- The first instance of a keyword when it's being defined, or general keywords (i.e. "object" or "immutable") go in `<dfn>` tags
- References to code parts (i.e. function, method or variable names) should be wrapped in `<code>` tags. See example below:
- Use <code>parseInt</code> to convert the variable <code>realNumber</code> into an integer.
- Multi-line code blocks **must be preceded by an empty line**. The next line must start with three backticks followed immediately by one of the [supported languages](https://prismjs.com/#supported-languages). To complete the code block, you must start a newline which only has three backticks and **another empty line**.
**Note:** If you are going to use an example code in YAML, use `yaml` instead of `yml` for the language to the right of the backticks.
See example below:
````md
The following is an example of code:
```{language}
[YOUR CODE HERE]
```
````
- Additional information in the form of a note should be formatted `<strong>Note:</strong> Rest of note text...`
- If multiple notes are needed, then list all of the notes in separate sentences using the format `<strong>Notes:</strong> First note text. Second note text.`.
- Use double quotes where applicable
## Writing tests
Challenges should have the minimum number of tests necessary to verify that a camper understands a concept.
Our goal is to communicate the single point that the challenge is trying to teach, and test that they have understood that point.
Challenge tests can make use of the Node.js and Chai.js assertion libraries. Also, if needed, user-generated code can be accessed in the `code` variable.
## Formatting seed code
Here are specific formatting guidelines for the challenge seed code:
- Use two spaces to indent
- JavaScript statements end with a semicolon
- Use double quotes where applicable
- Comments made should have a space between the comment characters and the comment themselves
`// Fix this line`
## Curriculum Challenge Hints and Solutions
Each challenge has a `Get a Hint` button, so a user can access any hints/solutions which have been created for the challenge. Curriculum hints/solutions topics are located on [our forum](https://www.freecodecamp.org/forum/c/guide) under the `Guide` category.
If you find a problem with an existing challenge's hints/solutions topic, you can make suggestions in the comments below the main wiki post if you are at least a level 3 forum user. Select moderators will review the comments and decide whether or not to include the changes in the existing topic.
### Adding new Challenge hints/solutionsd Topics
Only moderators can add new hints and solutions topics when new challenges are added to the curriculum.
Take the following steps when adding a new challenge hints/solutions related topic.
1. Start by following the same steps for [creating a new topic](creating-a-new-guide-topic) but review the next for creating the title.
2. The title of the topic should start with "freeCodeCamp Challenge Guide: " concatenated with the actual title of the curriculum challenge. For example, if the challenge is named "Chunky Monkey", the topic title would be "freeCodeCamp Challenge Guide: Chunky Monkey".
3. `camperbot` should be the owner of these topics/posts, so you will need to request an admin to change the ownership of the main post to `camperbot`.
4. Once the new topic is created, a forum topic id is created. It is located at the end of the forum topic URL. This id must be added to the frontmatter of the curriculum challenge file via the normal pull request process for the `Get a Hint` button to link to the topic.
### Guidelines for content of hints and solutions topics
When proposing a solution for a curriculum challenge related Guide topic, the full code must be added. This includes all the original seed code plus any changes needed to pass all the challenge tests. The following template should be used when creating new hints/solutions topics:
````md
# Challenge Name Goes Here
---
## Problem Explanation
This summarizes what need to be done without just restating the challenge description and/or instructions. This is an optional section
#### Relevant Links
- [Link Text](link_url_goes_here)
- [Link Text](link_url_goes_here)
---
## Hints
### Hint 1
Hint goes here
### Hint 2
Hint goes here
---
## Solutions
<details><summary>Solution 1 (Click to Show/Hide)</summary>
```js
function myFunc() {
console.log('Hello World!');
}
```
#### Code Explanation
- Code explanation goes here
- Code explanation goes here
#### Relevant Links
- [Link Text](link_url_goes_here)
- [Link Text](link_url_goes_here)
</details>
````
### Useful Links
Creating and Editing Challenges:
1. [Challenge Style Guide](style-guide-for-curriculum-challenges.md) - how to create and format challenges
1. [Challenge types](https://github.com/freeCodeCamp/learn/blob/a5cb25704168aa37f59a582f0bb5a19b7bd89b46/utils/challengeTypes.js) - what the numeric challenge type values mean (enum).
2. [Challenge types](https://github.com/freeCodeCamp/learn/blob/a5cb25704168aa37f59a582f0bb5a19b7bd89b46/utils/challengeTypes.js) - what the numeric challenge type values mean (enum).
3. [Contributing to FreeCodeCamp - Writing ES6 Challenge Tests ](https://www.youtube.com/watch?v=iOdD84OSfAE#t=2h49m55s) - a video following [Ethan Arrowood](https://twitter.com/ArrowoodTech) as he contributes to the old version of the curriculum
2. [Contributing to FreeCodeCamp - Writing ES6 Challenge Tests ](https://www.youtube.com/watch?v=iOdD84OSfAE#t=2h49m55s) - a video following [Ethan Arrowood](https://twitter.com/ArrowoodTech) as he contributes to the old version of the curriculum

View File

@ -1,337 +0,0 @@
# How to work on Guide topics
With your help, we can create a comprehensive reference tool that will help millions of people who are learning to code, for years to come. Guide topics are located in [our forum](https://www.freecodecamp.org/forum/c/guide) under the `Guide` category.
You can [help us by Creating and Editing Guide Topics](#creating-and-editing-guide-topics).
## Creating and editing Guide topics
Use the [forum search feature](https://www.freecodecamp.org/forum/search?expanded=true&q=%23guide) to find existing topics you want to [edit](#editing-an-existing-guide-topic) or to make sure the topic you want to create does not already exist. Whether editing or adding a new Guide topic, you should read about [styling best practices for Guide topics](#style-guide-for-creating-and-editing-guide-topics) to make your topic stand out.
### Editing an existing Guide topic
The Guide topics on the forum are wikis which can be edited by users. Only users with Level 1 status can edit the wikis.
1. Click the `Edit` button located at the bottom right of the post an
2. Make your desired changes using the editor.
3. Click `Save Edit`.
### Creating a new Guide topic
1. Click the `+ New Topic` button at top of the forum.
2. Add a Topic Title.
3. Select `Guide` in the category dropdown.
3. Add your new content using the editor.
4. Click `+ Create Topic`.
### When do we edit or remove topics
We may change or remove a topic:
- if the topic title is not relevant
- if there is zero/little effort in it (e.g: copy-pasting from another source like Wikipedia)
- if it includes text copied from a copyrighted source
- if it does not respect the [Style guide for writing topics](#style-guide-for-creating-and-editing-guide-topics)
- if it does not respect the [Academic Honesty policy](https://www.freecodecamp.org/academic-honesty)
- if any of the content violates the [freeCodeCamp Code of Conduct](https://www.freecodecamp.org/news/code-of-conduct)
- if a new Guide topic wiki contains only links and no other relevant content
### Getting Help
There's a community of support from a whole team of contributors, whom you can bounce ideas off of and ask for input on your writing.
Stay active in the [contributors' chat room](https://gitter.im/freecodecamp/contributors) and ask lots of questions.
### Style guide for creating and editing Guide topics
We recommend the following guidelines for writing Guide topics to help you get started with contributing and creating helpful topics.
#### Title
Topic titles should be as short, concise, and to-the-point as possible.
We want campers to quickly find the information they're looking for, and the title should reflect the main theme of the topic.
#### Modularity
Each topic should explain exactly one concept, and that concept should be apparent from the topic's title.
We can reference other topics by linking to them inline, or in an "Other Resources" section at the end of the topic.
Our goal is to have thousands of topics that cover a broad range of technical concepts.
#### Code Blocks
Campers will likely use Guide topics as a quick reference to look up syntax. Topics should have simple real-world examples that show common use-cases of that syntax.
GitHub-flavored markdown supports [syntax highlighting in code blocks](https://help.github.com/topics/creating-and-highlighting-code-blocks/#syntax-highlighting) for many programming languages.
To use it, indicate the language after ```.
For example, the following Markdown
```markdown
```html
<div class='awesome' id='more-awesome'>
<p>This is text in html</p>
</div>
```
```
will output the following code block with `HTML` syntax highlighting since we indicated the language `html` after the ```.
```html
<div class='awesome' id='more-awesome'>
<p>This is text in html</p>
</div>
```
The following represents two other examples using JavaScript and CSS syntax highlighting.
```markdown
```javascript
function logTheThings(stuff) {
console.log(stuff);
}
```
```css
.awesome {
background-color: #FCCFCC;
}
```
```
Please keep the following recommendations in mind:
- To ensure correct rendering, each code block must have a language label. You can find a list of supported languages [here](http://prismjs.com/#languages-list ).
- For codeblocks with no appropriate language, use a code fence (3 backticks) like ` ``` `.
Finally, here are some suggested formatting guidelines when writing code blocks:
- JavaScript statements should end with a `;` semicolon
- Comments made should have a space between the comment characters and the comment themselves
```javascript
// Like this
```
#### Links
Use Markdown style links in your topics to link to other websites.
```markdown
[freeCodeCamp](https://www.freecodecamp.org/)
```
> **Important**
> Make sure that you are using HTTPS links. This is very important to avoid insecure content warnings.
>
> Also, do not use short links like `bit.ly` or `amzn.to` links. This is a security risk. Short links are [vulnerable to redirection based attacks](https://security.stackexchange.com/questions/59517/are-url-shorteners-vulnerable-due-to-open-redirects).
>
> Instead, simply use the long version of the links, removing any query parameters.
> Ex:
> `https://example.com/a-long/url/to-a-webpage/?queryParam=something&queryParam=somethingelse`
> becomes
> `https://example.com/a-long/url/to-a-webpage/`
#### Lists
You can make an unordered list by preceding one or more lines of text with - or *
To order your list, precede each line with a number.
```markdown
- Hello user!
* Hey there!
```
#### Images
We do not recommend adding images to a topic unless necessary. Images hurt Web Accessibility, they are difficult to maintain and may get outdated. They are also slow to load on poor connections, thus, hurt web performance.
For including images in a topic under compelling reasons, if they aren't already hosted somewhere else on the web, you will need to put them online yourself using a platform like [Imgur](https://imgur.com/) or [Flickr](https://www.flickr.com). You can also host images by committing them to a git repository and pushing it to GitHub. Then you can right-click the image and copy its URL.
We don't allow hosting images directly in the git repository because it would make it far too big (people pulling it to their local system to make changes would end up downloading all the images), and because it is easier to change an image by just changing the URL in a topic than by putting the new image in the repository.
To include the image in your topic, use the appropriate markdown syntax:
```markdown
![Image Title](https://url-to-image)
```
Then the images should show up when you click the <kcd>Preview</kcd> tab.
You can also add diagrams, graphics, or visualizations as necessary.
You can even embed relevant YouTube videos.
Don't use emojis or emoticons in the Guide. freeCodeCamp has a global community, and the cultural meaning of an emoji or emoticon may be different around the world. Also, emojis can render differently on different systems.
#### Attributions
To minimize the potential for plagiarism and maintain integrity in this guide, it is important to give credit where necessary.
Any material quoted, or used directly and unchanged, from source material should be wrapped in quotation marks and be adequately cited. Material that is not a direct quote but is still paraphrased from a different resource should also be cited.
You can create superscript numerals to mark content that is cited using `<sup></sup>` tags.
Like so: <sup>1</sup>
1. freeCodeCamp - Attributions
Then, at the bottom of your topic, place a
```markdown
### Sources
```
heading and include all of your citations numbered to correspond with your sources.
An example is highlighted below.
```markdown
Here is some content that should be cited.<sup>1</sup>
And here is even more that should be cited from another source.<sup>2</sup>
#### Sources
1. [Doe, John. "Authoring Words." *WikiCoder*. January 1, 1970. Accessed: October 20, 2017](#)
2. [Purdue OWL Staff. "MLA Works Cited: Electronic Sources." *Purdue Online Writing Lab.* October 12, 2017. Accessed: October 20, 2017.](https://owl.english.purdue.edu/owl/resource/747/08/)
```
You can check out the [Purdue link referenced above](https://owl.english.purdue.edu/owl/resource/747/08/) to see how to properly cite web sources (they even show how to cite tweets!).
Typically, an attribution has a structure like the following:
> Author Last Name, Author First Name. "topic Title." *Publication.* Publisher. Date Published. Date Accessed.
If you cannot find an author or a publication date, which is common, simply omit these.
Use of proper citations will not only keep the guide reputable but these citations and links will also provide valuable resources should the reader want to learn more about the topic.
Also note that instances of blatant plagiarism will be either removed or have their pull requests declined, and the user will receive a warning.
Please refer to and review freeCodeCamp's [Academic Honesty Policy](https://www.freecodecamp.org/academic-honesty) before contributing.
#### Resources
If there are other Guide resources you think campers would benefit from, add them at the bottom in a "Resources" section with a bulleted list.
```markdown
### Resources
- [A New Resource](#link)
```
#### Formatting
Use double quotes where applicable.
Format language keywords as code - this is done with the backtick key (located to the left of the "1" key on a US keyboard) in GitHub-flavored markdown. For example, put backticks around HTML tag names or CSS property names.
Use the Oxford Comma when possible (it is a comma used after the penultimate item in a list of three or more items, before and or or e.g. an Italian painter, sculptor, and architect). It makes things easier, clearer, and prettier to read.
#### Technical Writing
Technical writing, or the literature of science and technology, is hard.
You'll need to take a technical (usually abstract) topic and explain it in a clear, accurate, and objective manner.
You'll likely go through several rounds of proofreading and editing before you're happy with the result.
##### Outline
Before you begin writing, create an outline of the topic and think about any coding examples you'll use (if applicable).
This helps to organize your thoughts and make the writing process easier.
##### Intro
The introduction paragraph should only be 1-2 sentences long and be a simple explanation of the main topic. It should limit the use of any links to other Guide topics, as they can be distracting.
##### Content
Keep paragraphs short (around 1-4 sentences). People are more likely to read several short paragraphs over a wall of text.
##### Clarity
Topics should be written in short, clear sentences, and use as little jargon as necessary.
All jargon should be defined immediately in plain English.
##### Voice
Use active voice instead of passive voice. Generally, it's a stronger and more straightforward way to communicate a subject. For example:
##### Passive
The `for` loop in JavaScript is used by programmers to...
##### Active
Programmers use the `for` loop in JavaScript to...
##### Point of View
Text should use the second person ("you") to help to give it a conversational tone.
This way, the text and instructions seem to speak directly to the camper reading it.
Try to avoid using the first person ("I", "we", "let's", and "us").
##### Abbreviations
If you want to abbreviate a term in your topic, write it out fully first, then put the abbreviation in parentheses.
For example, `"In computer science, an abstract syntax tree (AST) is ..."`
##### Proper nouns
Proper nouns should use correct capitalization when possible. Below is a list of words as they should appear in Guide topics.
- JavaScript (capital letters in "J" and "S" and no abbreviations)
- Node.js
Front-end development (an adjective form with a dash) is when you're working on the front end (noun form with no dash). The same goes for the back end, full-stack, and many other compound terms.
#### Third-Party Tools
To check for grammar and spelling, we recommend using an app like [Grammarly](https://grammarly.com) or a built-in extension/plugin that checks for this within your text editor.
- [VS Code](https://code.visualstudio.com/) - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)
- [Sublime Text 3](https://www.sublimetext.com/docs/3/spell_checking.html)
To check your writing style, we recommend the [Hemingway App](http://www.hemingwayapp.com/).
Theres nothing magical about this simple tool, but it will automatically detect widely agreed-upon style issues:
- passive voice
- unnecessary adverbs
- words that have more common equivalents
The Hemingway App will assign a "grade level" for your writing.
You should aim for a grade level of 6.
Another tool available is the [De-Jargonizer](http://scienceandpublic.com/), originally designed for scientific communication but might help avoid overspecialized wording.
### Curriculum Challenge Hints and Solutions
If you find a problem with an existing challenge's hints/solutions topic, you can make suggestions in the comments below the main wiki post. Select moderators will review the comments and decide whether or not to include the changes in the existing topic.
#### Adding New Challenge Related Topics
Only moderators should add new hints and solutions topics when new challenges are added to the curriculum.
Take the following steps when adding a new challenge hints/solutions related topic.
1. Start by following the same steps for [creating a new topic](creating-a-new-guide-topic) but review the next for creating the title.
2. The title of the topic should start with "freeCodeCamp Challenge Guide: " concatenated with the actual title of the curriculum challenge. For example, if the challenge is named "Chunky Monkey", the topic title would be "freeCodeCamp Challenge Guide: Chunky Monkey".
3. `camperbot` should be the owner of these topics/posts, so you will need to request an admin to change the ownership of the main post to `camperbot`.
4. Once the new topic is created, a forum topic id is created. It is located at the end of the forum topic URL. This id must be added to the frontmatter of the curriculum challenge file via the normal pull request process for the `Get a Hint` button to link to the topic.
#### Guidelines for content of hints and solutions topics
When proposing a solution for a curriculum challenge related Guide topic, the full code should be given. This includes all the original seed code plus any changes needed to pass all the challenge tests.

View File

@ -0,0 +1,8 @@
<!--
This file should not be translated.
-->
> Documentation for other languages if available can be found in their directories. Please note: Sometimes these translations may not be up-to-date with the English versions.

View File

@ -1,16 +1,7 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> Русский </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/greek/CONTRIBUTING.md"> Ελληνικά </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
<div dir="rtl" style="direction: rtl" markdown="1">

View File

@ -1,16 +1,7 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> Русский </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/greek/CONTRIBUTING.md"> Ελληνικά </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# 贡献指南

View File

@ -1,17 +1,9 @@
# 如何局部性地捕获外发电子邮件(用于电子邮件工作流程)
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
# 如何局部性地捕获外发电子邮件(用于电子邮件工作流程)
> **注意:** 这是**可选**步骤 - 仅在使用电子邮件工作流程时需要

View File

@ -1,15 +1,8 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> 此指南可阅读的语言版本 </td>
<td><a href="/how-to-setup-freecodecamp-locally.md"> English </a></td>
<td><a href="/docs/chinese/how-to-setup-freecodecamp-locally.md"> 中文 </a></td>
<td><a href="/docs/russian/how-to-setup-freecodecamp-locally.md"> русский </a></td>
<td><a href="/docs/arabic/how-to-setup-freecodecamp-locally.md"> عربي </a></td>
<td><a href="/docs/spanish/how-to-setup-freecodecamp-locally.md"> Español </a></td>
<td><a href="/docs/portuguese/how-to-setup-freecodecamp-locally.md"> Português </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# 在本地启动freeCodeCamp
@ -46,13 +39,13 @@
2. 可选但建议为GitHub设置[SSH密钥]https://help.github.com/articles/generating-an-ssh-key/)。
3. 安装您选择的代码编辑器。
我们强烈建议使用[VS Code]https://code.visualstudio.com/)或[Atom]https://atom.io/)。这些是一些很棒的免费和开源代码编辑器。
4. 为您的代码编辑器设置linting。
您应该[在您的编辑器中运行ESLint](http://eslint.org/docs/user-guide/integrations.html),它将突出显示任何不符合[freeCodeCamp的JavaScript样式指南](http//forum.freecodecamp.org/t/free-code-camp-javascript-style-guide/19121)的内容。
> 请不要忽略任何掉毛错误。它们旨在帮助您,并确保干净简单的代码库。
## 克隆你的freeCodeCamp副本
@ -62,7 +55,7 @@
在本地计算机上运行以下命令:
1. 在项目目录中打开终端/命令提示符/Bash Shell
_i.e。`/ yourprojectdirectory /`_
2. 克隆你的freeCodeCamp的fork用你的GitHub用户名替换`YOUR_USER_NAME`
@ -82,7 +75,7 @@
除了`origin`之外,你还需要将你的本地克隆指向`upstream`。这样您就可以同步主存储库中的更改。这样您就不必一次又一次地进行分叉和克隆。
1. 将目录更改为新的freeCodeCamp目录
```shell
cd freeCodeCamp
```
@ -193,7 +186,7 @@ npm install
- 在Windows上您必须指定`mongod`二进制文件的完整路径
确保用您安装的版本替换`3.6`
```shell
"C:\Program Files\MongoDB\Server\3.6\bin\mongod"
```
@ -421,9 +414,9 @@ npm run develop
![Image - Compare pull request prompt on GitHub](/docs/images/github/compare-pull-request-prompt.png)
2. 默认情况下所有拉取请求都应该针对freeCodeCamp主代码库的`master`分支。
提出拉取请求时请确保将Base Fork设置为freeCodeCamp/freeCodeCamp。
![Image - Comparing forks when making a pull request](/docs/images/github/comparing-forks-for-pull-request.png)
3. 将分支的拉取求提交给freeCodeCamp的`master`分支。

View File

@ -1,15 +1,7 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
#如何处理编码挑战

View File

@ -1,15 +1,7 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
#如何在指南文章工作
在您的帮助下,我们可以创造将帮助成千上万人学会未来几年编码的一个全面参考工具。 💛

View File

@ -1,16 +1,7 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربى </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/french/CONTRIBUTING.md"> Français </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Lignes directrices pour les contributions

View File

@ -1,15 +1,7 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربى </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Contribution Richtlinien

View File

@ -1,16 +1,7 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربى </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/italian/CONTRIBUTING.md"> Italiano </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Le Linee guida per la contribuzione
@ -53,7 +44,7 @@ Puoi aiutarci:
Gli articoli guida ti aiutano a comprendere rapidamente il concetto di tecnologia. Queste sono brevi spiegazioni in un italiano semplice che è possibile leggere prima di passare a risorse più approfondite.
Puoi trovare un [articolo di esempio sull'elemento Ancora HTML qui](https://github.com/freeCodeCamp/freeCodeCamp/blob/master/guide/english/html/elements/a-tag/index.md).
Puoi trovare un [articolo di esempio sull'elemento Ancora HTML qui](https://github.com/freeCodeCamp/freeCodeCamp/blob/master/guide/english/html/elements/a-tag/index.md).
**Cosa posso scrivere in un articolo?**

View File

@ -1,17 +1,7 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/greek/CONTRIBUTING.md"> Ελληνικά </a></td>
<td><a href="/docs/korean/CONTRIBUTING.md"> 한국어 </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# 기여 지침

View File

@ -1,16 +1,7 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> Русский </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/greek/CONTRIBUTING.md"> Ελληνικά </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Orientações para Contribuição

View File

@ -1,14 +1,7 @@
<table>
<tr>
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Como obter localmente os emails enviados (para fluxos de emails)

View File

@ -1,14 +1,7 @@
<table>
<tr>
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Configurando freeCodeCamp localmente

View File

@ -1,14 +1,7 @@
<table>
<tr>
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Como trabalhar nos desafios de código
@ -16,7 +9,7 @@
Cada desafio está guardado em seu próprio arquivo markdown. Isso torna fácil editar os desafios diretamente de dentro do GitHub.
Você pode fazer mudanças sem ter nada rodando em seu sistema local.
Você pode fazer mudanças sem ter nada rodando em seu sistema local.
Depois que encontrar o arquivo que deseja modificar pela interface do GitHub, clique no ícone de lápis para começar a editar. Isto ira criar um fork do projeto automaticamente, se você já não tem um.
@ -97,7 +90,7 @@ Challenge solution code.
### Links Úteis
Criando e Editando Desafios:
Criando e Editando Desafios:
1. [Guia de Estilo dos Desafios](/docs/style-guide-for-curriculum-challenges.md) - como criar e formatar desafios.

View File

@ -1,15 +1,7 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Como trabalhar em Artigos Guia

View File

@ -1,18 +1,7 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربى </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/romanian/CONTRIBUTING.md"> Română </a></td>
<td><a href="/docs/german/README.md"> Deutsch </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Reguli privind contribuțiile

View File

@ -1,18 +1,7 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> Pусский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> Русский </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/greek/CONTRIBUTING.md"> Ελληνικά </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Рекомендации по внесению вклада в freeCodeCamp

View File

@ -1,14 +1,7 @@
<table>
<tr>
<td> Прочтите эти рекомендации на </td>
<td><a href='/CONTRIBUTING.md'> English </a></td>
<td><a href='/docs/chinese/CONTRIBUTING.md'> 中文 </a></td>
<td><a href='/docs/russian/CONTRIBUTING.md'> Русском </a></td>
<td><a href='/docs/arabic/CONTRIBUTING.md'> عربى </a></td>
<td><a href='/docs/spanish/CONTRIBUTING.md'> Español </a></td>
<td><a href='/docs/portuguese/CONTRIBUTING.md'> Português </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Как локально отлавливать получение исходящих электронных писем без их реальной отправки (требуется только для рабочих процессов электронной почты)
@ -29,7 +22,7 @@
### Установка MailHog на macOS
Как установить MailHog на macOS с помощью [Homebrew](https://brew.sh/):

View File

@ -1,15 +1,7 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Локальная настройка freeCodeCamp
@ -35,7 +27,7 @@
![GIF - Как сделать форк freeCodeCamp](/docs/images/github/how-to-fork-freeCodeCamp.gif)
## Подготовка среды разработки
## Подготовка среды разработки
После установки необходимых компонентов необходимо подготовить среду разработки. Это является общим для многих рабочих процессов разработки, и вам нужно будет сделать это только один раз.

View File

@ -1,14 +1,7 @@
<table>
<tr>
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Как работать над задачами по разработке

View File

@ -0,0 +1,10 @@
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Правила для внесения своего вклада в проекты
Привет 👋 !
Эти инструкции еще не были переведены. Чтобы узнать больше, пройдите по:[`#18312`](https://github.com/freeCodeCamp/freeCodeCamp/issues/18312)

View File

@ -1,16 +1,7 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> Русский </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/greek/CONTRIBUTING.md"> Ελληνικά </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Pautas de Contribución

View File

@ -1,19 +1,7 @@
<table>
<tr>
<td> Read these guidelines in </td>
<td><a href="/docs/README.md"> English </a></td>
<td><a href="/docs/arabic/document-quick-reference.md"> عربي </a></td>
<td><a href="/docs/chinese/document-quick-reference.md"> 中文 </a></td>
<td><a href="/docs/french/README.md"> Français </a></td>
<td><a href="/docs/german/document-quick-reference.md"> Deutsch </a></td>
<td><a href="/docs/greek/document-quick-reference.md"> Ελληνικά </a></td>
<td><a href="/docs/japanese/document-quick-reference.md"> 日本語 </a></td>
<td><a href="/docs/korean/document-quick-reference.md"> 한국어 </a></td>
<td><a href="/docs/portuguese/document-quick-reference.md"> Português </a></td>
<td><a href="/docs/russian/document-quick-reference.md"> русский </a></td>
<td><a href="/docs/spanish/document-quick-reference.md"> Español </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Documentación de referencia rápida

View File

@ -1,14 +1,7 @@
<table>
<tr>
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Como trabajar con correos salientes localmente (para flujos de trabajo de correo electrónico)
@ -17,7 +10,7 @@
## Introducción
Algunos flujos de trabajo de correo electrónico, como actualizar el correo electrónico de un usuario, requieren que la API del servidor back-end envíe correos electrónicos. Durante el proceso de desarrollo podemos usar una herramienta para obtenerlos localmente, en lugar de tener que usar un proveedor de correo electrónico y enviar un correo electrónico real. **MailHog** es una de las muchas herramientas de prueba de correo electrónico para desarrolladores, que detectará los correos electrónicos que envíe tu instancia local de freeCodeCamp.
## Instalando MailHog

View File

@ -1,21 +1,13 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Configura freeCodeCamp localmente en tu sistema
Sigue esta guía para poder configurar freeCodeCamp localmente en tu sistema. Esto es altamente recomendable si quieres realizar contribuciones regularmente.
El flujo de trabajo de las contribuciones puede desear y mostrar vistas previas de las páginas para la guía o los desafíos de programación. La depuración o el arreglo de errores en la base de código requiere que tengamos freeCodeCamp ejecutándose de manera local.
El flujo de trabajo de las contribuciones puede desear y mostrar vistas previas de las páginas para la guía o los desafíos de programación. La depuración o el arreglo de errores en la base de código requiere que tengamos freeCodeCamp ejecutándose de manera local.
## Como hacer Forking a un repositorio en GitHub
@ -58,7 +50,7 @@ Una vez que tengas los requisitos previos instalados, necesitas preparar tu ento
['Cloning'](https://help.github.com/articles/cloning-a-repository/) es un paso donde tu **descargas** una copia del repositorio que es de tu propiedad o de alguien de una localización `remota`. En tu caso, esta localización remota es tu `fork` del repositorio de freeCodeCamp, que debería estar disponible en `https://github.com/YOUR_USER_NAME/freeCodeCamp`.
Ejecuta estos comandos en tu maquina local:
Ejecuta estos comandos en tu maquina local:
1. Open a Terminal / Command Prompt / Bash Shell en tu directorio de proyectos
@ -199,7 +191,7 @@ Empieza el MongoDB servidor en una terminal distinto
mongod
```
- En Windows, tienes que especificar el camino completo al binario `mongod`
- En Windows, tienes que especificar el camino completo al binario `mongod`
Asegurate de reemplazar la `3.6` con la versión que tengas instalada
@ -219,7 +211,7 @@ Siguiente, permite la semilla de la base de datos. En este paso, ejecutamos el s
npm run seed
```
### Comience la aplicación cliente de freeCodeCamp y el servidor API
### Comience la aplicación cliente de freeCodeCamp y el servidor API
Ahora puede arrancar el servidor API y la aplicación del cliente.

View File

@ -1,14 +1,7 @@
<table>
<tr>
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Cómo trabajar en los desafíos de programación
@ -102,4 +95,4 @@ Creando y Editando Desafíos:
2. [Tipos de desafíos](https://github.com/freeCodeCamp/learn/blob/a5cb25704168aa37f59a582f0bb5a19b7bd89b46/utils/challengeTypes.js) - Significado del valor numérico de 'challengeType' (enum).
3. [Contribuyendo a freeCodeCamp - Escribiendo Pruebas de Desafío en ES6](https://www.youtube.com/watch?v=iOdD84OSfAE#t=2h49m55s) - Un video siguiendo a [Ethan Arrowood](https://twitter.com/ArrowoodTech) mientras contribuye a la versión antigua del currículo.
3. [Contribuyendo a freeCodeCamp - Escribiendo Pruebas de Desafío en ES6](https://www.youtube.com/watch?v=iOdD84OSfAE#t=2h49m55s) - Un video siguiendo a [Ethan Arrowood](https://twitter.com/ArrowoodTech) mientras contribuye a la versión antigua del currículo.

View File

@ -1,15 +1,7 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
<!-- do not translate this -->
| [Read these guidelines in other languages](/docs/i18n-languages) |
|-|
<!-- do not translate this -->
# Cómo trabajar en artículos de la Guía

View File

@ -1,54 +0,0 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/docs/README.md"> English </a></td>
<td><a href="/docs/arabic/document-quick-reference.md"> عربي </a></td>
<td><a href="/docs/chinese/document-quick-reference.md"> 中文 </a></td>
<td><a href="/docs/french/README.md"> Français </a></td>
<td><a href="/docs/german/document-quick-reference.md"> Deutsch </a></td>
<td><a href="/docs/greek/document-quick-reference.md"> Ελληνικά </a></td>
<td><a href="/docs/japanese/document-quick-reference.md"> 日本語 </a></td>
<td><a href="/docs/korean/document-quick-reference.md"> 한국어 </a></td>
<td><a href="/docs/portuguese/document-quick-reference.md"> Português </a></td>
<td><a href="/docs/russian/document-quick-reference.md"> русский </a></td>
<td><a href="/docs/spanish/document-quick-reference.md"> Español </a></td>
</tr>
</table>
# ドキュメントクイックリファレンス
こんにちは👋!
このディレクトリにはfreeCodeCamp.orgに貢献するためのドキュメントが全て含まれています。
## [もし始めるなら、ここを読んでください。](/CONTRIBUTING.md)
---
## クイックリファレンス記事
<a href="/docs/how-to-work-on-guide-articles.md">1. 手引書の取り組み方</a><br>
<a href="/docs/how-to-work-on-coding-challenges.md">2. コーディングチャレンジの取り組み方</a><br>
<a href="/docs/how-to-setup-freecodecamp-locally.md">3. ローカルでfreeCodeCampのセットアップの仕方.</a><br>
<a href="/docs/how-to-catch-outgoing-emails-locally.md">4. ローカルで送信メールの取得方法</a>
## スタイルガイド
<a href="/docs/how-to-work-on-guide-articles.md">1. 手引書作成のためのスタイルガイド.</a><br>
<a href="/docs/how-to-work-on-coding-challenges.md">2. コーディングチャレンジのためのスタイルガイド</a>
## ローカルで動作する際のクイックコマンドリファレンス
ローカルで動作させる時に必要なコマンドのクリックリファレンス
| コマンド | 記述 |
| ------- | ----------- |
| `npm run bootstrap` | 様々なサービスのブートストラップ |
| `npm run seed` | 全チャレンジマークダウンファイルをパーズして、MongoDBに挿入|
| `npm run develop` | APIサーバとクライアントアプリケーションのスタート |
| `npm test` | クライアント、サーバー、リント、チャレンジテストを含む全JSテストの実行|
| `npm run test:client` | クライアントテストスーツの実行|
| `npm run test:curriculum` | カリキュラムテストスーツの実行|
| `npm run test:server` | サーバーテストスーツの実行|
| `npm run commit` | 良いコミットメッセージをビルドするための相互ツール|

View File

@ -1,54 +0,0 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/docs/README.md"> English </a></td>
<td><a href="/docs/arabic/document-quick-reference.md"> عربي </a></td>
<td><a href="/docs/chinese/document-quick-reference.md"> 中文 </a></td>
<td><a href="/docs/french/README.md"> Français </a></td>
<td><a href="/docs/german/document-quick-reference.md"> Deutsch </a></td>
<td><a href="/docs/greek/document-quick-reference.md"> Ελληνικά </a></td>
<td><a href="/docs/japanese/document-quick-reference.md"> 日本語 </a></td>
<td><a href="/docs/korean/document-quick-reference.md"> 한국어 </a></td>
<td><a href="/docs/portuguese/document-quick-reference.md"> Português </a></td>
<td><a href="/docs/russian/document-quick-reference.md"> русский </a></td>
<td><a href="/docs/spanish/document-quick-reference.md"> Español </a></td>
</tr>
</table>
# 빠른 참고 문헌
안녕하세요 👋!
이 디렉터리에는 freeCodeCamp.org에 기여하는 방법이 포함되어 있습니다.
## [처음이시면 여기를 먼저 읽어주세요.](CONTRIBUTING.md)
---
## 빠른 참고 문헌
<a href="/docs/how-to-work-on-guide-articles.md">1. 가이드 글 작동 방법</a><br>
<a href="/docs/how-to-work-on-coding-challenges.md">2. 코딩 챌린지 작동 방법</a><br>
<a href="/docs/how-to-setup-freecodecamp-locally.md">3. 로컬 환경에서 freeCodeCamp 설치 방법</a><br>
<a href="/docs/how-to-catch-outgoing-emails-locally.md">4. 로컬 환경에서 발신 메일 받는 방법</a>
## 스타일 가이드
<a href="/docs/how-to-work-on-guide-articles.md">1. 가이드 글을 만들기 위한 스타일 가이드</a><br>
<a href="/docs/how-to-work-on-coding-challenges.md">2. 코딩 과제를 만들기 위한 스타일 가이드</a>
## 로컬 환경에서 작업할 때 참고할 명령어
로컬 환경에서 작업할 때 사용할 명령어
| 명령어 | 설명 |
| ------- | ----------- |
| `npm run bootstrap` | 다른 서비스를 부트스트랩 합니다. |
| `npm run seed` | 모든 챌린지 마크 다운 파일을 파싱 하여 MongoDB에 삽입합니다. |
| `npm run develop` | freeCodeCamp API 서버 및 클라인어트 프로그램을 시작합니다.|
| `npm test` | 시스템에서 클라이언트, 서버, lint 및 챌린지 테스트를 포함하여 모든 JS 테스트를 실행합니다.|
| `npm run test:client` | 클라이언트 테스트 셋을 실행합니다. |
| `npm run test:curriculum` | 커리큘럼 테스트 셋을 실행합니다. |
| `npm run test:server` | 서버 테스트 셋을 실행합니다. |
| `npm run commit` | 좋은 Commit 메시지를 작성하는 데 도움을 주는 대화형 도구입니다.|

View File

@ -1,54 +0,0 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/docs/README.md"> English </a></td>
<td><a href="/docs/arabic/document-quick-reference.md"> عربي </a></td>
<td><a href="/docs/chinese/document-quick-reference.md"> 中文 </a></td>
<td><a href="/docs/french/README.md"> Français </a></td>
<td><a href="/docs/german/document-quick-reference.md"> Deutsch </a></td>
<td><a href="/docs/greek/document-quick-reference.md"> Ελληνικά </a></td>
<td><a href="/docs/japanese/document-quick-reference.md"> 日本語 </a></td>
<td><a href="/docs/korean/document-quick-reference.md"> 한국어 </a></td>
<td><a href="/docs/portuguese/document-quick-reference.md"> Português </a></td>
<td><a href="/docs/russian/document-quick-reference.md"> русский </a></td>
<td><a href="/docs/spanish/document-quick-reference.md"> Español </a></td>
</tr>
</table>
# Референци
Здраво 👋!
Овој директориум ја содржи целата документација за контирутирање на freeCodeCamp.org
## [Доколку сте почетник, започнете прво со читање на следново.](/CONTRIBUTING.md)
---
## Референци за артикли
1. Како да работите на водичи .
2. Како да работите на предизвици за кодирање.
3. Како да го поставите freeCodeCamp локално.
4. Како да фаќате излезни е-маилови локално.
## Стилски водич
1. Стилски водич за креирање артикли.
2. Стилски водич за креирање предизвици со кодирање.
## Брзи упатства за команди кога работите локално
Брзи референци за командите што ќе ви требаат, кога ќе работите локално.
| команда | опис |
| ------- | ----------- |
| `npm run bootstrap` | Bootstrap на различни сервиси |
| `npm run seed` | Анализирај ги сите markdown фајлови за предизвиците и вметни ги во MongoDB. |
| `npm run develop` | Го стартува API-серверот на FreeCodeCamp и клиентските апликации |
| `npm test` | Стартувај ги сите JS тестови во системот, вклучувајќи ги клиентските, серверите, линтинг и тестовите од придизвици |
| `npm run test:client` | Стартувај пакет за тестирање на клиент |
| `npm run test:curriculum` | Стартувај го тестот за наставна програма |
| `npm run test:server` | Стартувај пакет за тестирање на серверот |
| `npm run commit` | Интерактивна алатка за да ви помогне да изградите добра порака за комитирање |

View File

@ -1,53 +0,0 @@
<table>
<tr>
<td> Ler estes guias em </td>
<td><a href="/docs/README.md"> English </a></td>
<td><a href="/docs/arabic/document-quick-reference.md"> عربي </a></td>
<td><a href="/docs/chinese/document-quick-reference.md"> 中文 </a></td>
<td><a href="/docs/french/README.md"> Français </a></td>
<td><a href="/docs/german/document-quick-reference.md"> Deutsch </a></td>
<td><a href="/docs/greek/document-quick-reference.md"> Ελληνικά </a></td>
<td><a href="/docs/japanese/document-quick-reference.md"> 日本語 </a></td>
<td><a href="/docs/korean/document-quick-reference.md"> 한국어 </a></td>
<td><a href="/docs/portuguese/document-quick-reference.md"> Português </a></td>
<td><a href="/docs/russian/document-quick-reference.md"> русский </a></td>
<td><a href="/docs/spanish/document-quick-reference.md"> Español </a></td>
</tr>
</table>
# Referência Rápida da Documentação
Olá 👋!
Este diretório contém toda a documentação sobre como contribuir para o freeCodeCamp.org
## [Se está começcando agora, leia isto primeiro.](/docs/portuguese/CONTRIBUTING.md)
---
## Artigos para referência rápida
1. [Como trabalhar em Artigos Guia.](/docs/portuguese/how-to-work-on-guide-articles.md)
2. [Como trabalhar em Desafios de Código.](/docs/portuguese/how-to-work-on-coding-challenges.md)
3. [Como configurar o freeCodeCamp localmente.](/docs/portuguese/how-to-setup-freecodecamp-locally.md)
4. [Como apanhar emails enviados localmente.](/docs/portuguese/how-to-catch-outgoing-emails-locally.md)
## Guias de estilo
1. Guia de estilo para criar artigos de Guias.
2. Guia de estilo para criar Desafios de Código.
## Referência de comandos rápidos para trabalhar localmente
Uma rápida referência aos comandos que você irá precisar quando for trabalhar localmente.
| comando | descrição |
| ------- | ----------- |
| `npm run bootstrap` | Faz o <i>bootstrap</i> dos diferentes serviços |
| `npm run seed` | Processa todos os ficheiros dos Desafios de Código e insere-os no MongoDB. |
| `npm run develop` | Inicia o servidor API do freeCodeCamp e Apps Cliente. |
| `npm test` | Roda todos os testes JS no sistema, incluindo cliente, servidor, <i>lint</i> e testes dos Desafios de Código. |
| `npm run test:client` | Corre os testes do cliente. |
| `npm run test:curriculum` | Corre os testes do currículo. |
| `npm run test:server` | Corre os testes do servidor. |
| `npm run commit` | Uma ferramente interativa para te ajudar a construir uma boa mensagem de <i>commit</i>. |

126
docs/reply-templates.md Normal file
View File

@ -0,0 +1,126 @@
# Reviewing Pull Requests
These are some of the standard reply templates that you may use while reviewing pull requests and triaging issues.
> You can make your own with GitHub's built-in [**Saved replies**](https://github.com/settings/replies/) feature or use the ones below.
### Thank you
```markdown
Thank you for your contribution to the page! 👍
We are happy to accept these changes and look forward to future contributions. 🎉
```
### Thank you and congrats
> For thanking and encouraging first-time contributors.
```markdown
Hi @username. Congrats on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We are happy to accept these changes and look forward to future contributions. 📝
```
### Build Error
```markdown
Hey @username
We would love to be able to merge your changes but it looks like there is an error with the Travis CI build. ⚠️
Once you resolve these issues, We will be able to review your PR and merge it. 😊
---
> Feel free to reference the [Style guide for writing articles](https://github.com/freeCodeCamp/freeCodeCamp#article-title) for this repo on formatting an article correctly so your Travis CI build passes. ✅
>
> Also, it's good practice on GitHub to write a brief description of your changes when creating a PR. 📝
```
### Syncing Fork
> When PR is not up to date with the `master` branch.
``````markdown
Hey @username
We would love to be able to merge your changes but it looks like there is an error with the Travis CI build. ⚠️
```bash
Error: ENOTDIR: not a directory, open 'src/pages/java/data-abstraction/index.md'
```
This particular error was not caused by your file but was an old error caused by merging faulty code to the `master` branch. It has since been resolved.
To pass the build, you will have to sync the latest changes from the `master` branch of the `freeCodeCamp/freeCodeCamp` repo.
Using the command line, you can do this in three easy steps:
```bash
git remote add upstream git://github.com/freeCodeCamp/freeCodeCamp.git
git fetch upstream
git pull upstream master
```
If you're using a GUI, you can simply `Add a new remote...` and use the link `git://github.com/freeCodeCamp/freeCodeCamp.git` from above.
Once you sync your fork and pass the build, We will be able to review your PR and merge it. 😊
---
> Feel free to reference the [Syncing a Fork](https://help.github.com/articles/syncing-a-fork/) article on GitHub for more insight on how to keep your fork up-to-date with the upstream repository. 🔄
>
> Also, it's good practice on GitHub to write a brief description of your changes when creating a PR. 📝
``````
### Merge Conflicts
> When PR has merge conflicts that need to be resolved.¹
```markdown
Hey @username
We would love to be able to merge your changes but it looks like you have some merge conflicts. ⚠️
Once you resolve these conflicts, We will be able to review your PR and merge it. 😊
---
> If you're not familiar with the merge conflict process, feel free to look over GitHub's guide on ["Resolving a merge conflict"](https://help.github.com/articles/resolving-a-merge-conflict-on-github/). 🔍️
>
> Also, it's good practice on GitHub to write a brief description of your changes when creating a PR. 📝
```
¹ If a first-time-contributor has a merge conflict, maintainers will resolve the conflict for them.
### Duplicate
> When PR is repetitive or a duplicate.
```markdown
Hey @username
It seems that similar changes have already been accepted earlier for this article you are editing, sorry about that. 😓
If you feel you have more to add, please feel free to open up a new PR.
Thanks again! 😊
---
> If you have any questions, feel free to reach out through [Gitter](https://gitter.im/FreeCodeCamp/Contributors) or by commenting below. 💬
```
### Closing invalid pull requests
> When PR is invalid.
```markdown
Hey @username
You have not added any content, We will be closing this PR and marking it as `invalid`. 😓️
Feel free to open another PR though! 👍
```

View File

@ -1,58 +0,0 @@
<table>
<tr>
<!-- Do not translate this table -->
<td> Read these guidelines in </td>
<td><a href="/docs/README.md"> English </a></td>
<td><a href="/docs/arabic/document-quick-reference.md"> عربي </a></td>
<td><a href="/docs/chinese/document-quick-reference.md"> 中文 </a></td>
<td><a href="/docs/french/README.md"> Français </a></td>
<td><a href="/docs/german/document-quick-reference.md"> Deutsch </a></td>
<td><a href="/docs/greek/document-quick-reference.md"> Ελληνικά </a></td>
<td><a href="/docs/japanese/document-quick-reference.md"> 日本語 </a></td>
<td><a href="/docs/korean/document-quick-reference.md"> 한국어 </a></td>
<td><a href="/docs/portuguese/document-quick-reference.md"> Português </a></td>
<td><a href="/docs/russian/document-quick-reference.md"> русский </a></td>
<td><a href="/docs/spanish/document-quick-reference.md"> Español </a></td>
</tr>
</table>
# Краткая справочная документация
Привет 👋 !
Этот каталог содержит всю документацию о внесении вклада в freeCodeCamp.org
## [Если вы начинающий, сначала прочтите это.](/docs/russian/CONTRIBUTING.md)
---
## Краткий справочник
1. [Как работать над статьями руководства.](/docs/russian/how-to-work-on-guide-articles.md)
2. [Как работать над задачами по кодированию.](/docs/russian/how-to-work-on-coding-challenges.md)
3. [Как настроить freeCodeCamp локально.](/docs/russian/how-to-setup-freecodecamp-locally.md)
4. [Как поймать исходящие электронные письма локально.](/docs/russian/how-to-catch-outgoing-emails-locally.md)
## Руководство по стилю
1. [Руководство по стилю для создания руководств.](/docs/russian/how-to-work-on-guide-articles.md)
2. [Руководство по стилю для создания задач с кодированием.](/docs/russian/how-to-work-on-coding-challenges.md)
## Справочник по быстрым командам для локальной работы
Краткий справочник по командам, которые понадобятся при локальной работе.
| команда | описание |
| ------- | ----------- |
| `npm run bootstrap` | Загружает различные сервисы |
| `npm run seed` | Парсит файлы с отметкой о проблемах и вставляет их в MongoDB |
| `npm run develop` | Запускает сервер API и клиентские приложения freeCodeCamp |
| `npm test` | Запускайте все тесты JS в системе, включая тесты клиентов, сервера, линта и тесты задач |
| `npm run test:client` | Запустить клиентский набор тестов |
| `npm run test:curriculum` | Запуск набора тестов учебных программ |
| `npm run test:server` | Запуск набора тестов сервера |
| `npm run commit` | Интерактивный инструмент, который поможет вам создать хорошее сообщение о коммите |

View File

@ -1,17 +0,0 @@
<table>
<tr>
<td> Read these guidelines in </td>
<td><a href="/CONTRIBUTING.md"> English </a></td>
<td><a href="/docs/chinese/CONTRIBUTING.md"> 中文 </a></td>
<td><a href="/docs/russian/CONTRIBUTING.md"> русский </a></td>
<td><a href="/docs/arabic/CONTRIBUTING.md"> عربي </a></td>
<td><a href="/docs/spanish/CONTRIBUTING.md"> Español </a></td>
<td><a href="/docs/portuguese/CONTRIBUTING.md"> Português </a></td>
</tr>
</table>
# Правила для внесения своего вклада в проекты
Привет 👋 !
Эти инструкции еще не были переведены. Чтобы узнать больше, пройдите по:[`#18312`](https://github.com/freeCodeCamp/freeCodeCamp/issues/18312)

View File

@ -1,328 +0,0 @@
# A guide to designing freeCodeCamp coding challenges
> "Talk is cheap. Show me the code."Linus Torvalds
freeCodeCamp offers 1,200 hours of interactive coding challenges. These are 100% focused on the practical skill of building software. You code the entire time. You learn to code by coding.
You can learn theory through free online university courses. freeCodeCamp will focus instead on helping you learn to code and practice by building apps.
With that practical focus in mind, lets talk about the requirements for our coding challenges. Note that these requirements do not apply to our algorithm challenges, checkpoint challenges, or projects.
**Table of Contents**
- [Proper nouns](#proper-nouns)
- [The 2-minute rule](#the-2-minute-rule)
- [Modularity](#modularity)
- [Naming challenges](#naming-challenges)
- [Writing tests](#writing-tests)
- [Writing instructions](#writing-instructions)
- [Formatting challenge text](#formatting-challenge-text)
- [Formatting seed code](#formatting-seed-code)
- [Formatting solution](#formatting-solution)
- [Why do we have all these rules?](#why-do-we-have-all-these-rules)
## Proper nouns
Proper nouns should use correct capitalization when possible. Below is a list of words as they should appear in the challenges.
- JavaScript (capital letters in "J" and "S" and no abbreviations)
- Node.js
- Front-end development (adjective form with a dash) is when you're working on the front end (noun form with no dash). The same goes with "back end", "full stack", and many other compound terms.
## The 2-minute rule
Each challenge should be solvable within 120 seconds by a native English speaker who has completed the challenges leading up to it. This includes the amount of time it takes to read the directions, understand the seeded code, write their own code, and get all the tests to pass.
If it takes longer than two minutes to complete the challenge, you have two options:
- Simplify the challenge, or
- Split the challenge into two challenges.
The 2-minute rule forces you, the challenge designer, to make your directions concise, your seed code clear, and your tests straight-forward.
We have JavaScript events that track how long it takes for campers to solve challenges and we can use them to identify challenges that need to be simplified or split.
## Modularity
Each challenge should teach exactly one concept, and that concept should be apparent from the challenge's name.
We can reinforce previously covered concepts through repetition and variations - for example, introducing h1 elements in one challenge, then h3 elements a few challenges later.
Our goal is to have thousands of 2-minute challenges. These can flow together and reiterate previously-covered concepts.
## Naming challenges
Naming things is hard. We've made it easier by imposing some constraints.
All challenge titles should be explicit and should follow this pattern:
[verb] [object clause]
Here are some example challenge names:
- Use Clockwise Notation to Specify the Padding of an Element
- Condense arrays with .reduce
- Use Bracket Notation to Find the First Character in a String
## Numbering Challenges
Every challenge needs an `id`. If you don't specify one, then MongoDB will create a new random one when it saves the data; however, we don't want it to do that, since we want the challenge ids to be consistent across different environments (staging, production, lots of different developers, etc.).
To generate a new one in a shell (assuming MongoDB is running separately):
1. Run `mongo` command
2. Run `ObjectId()` command
For example:
```sh
$ mongo
MongoDB shell version v3.6.1
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.10
...
$ ObjectId()
ObjectId("5a474d78df58bafeb3535d34")
```
The result is a new id, for example `5a474d78df58bafeb3535d34` above.
Once you have your id, put it into the markdown file as the `id` field at the top, e.g.
```
---
id: 5a474d78df58bafeb3535d34
title: Challenge Title
```
## Writing tests
Challenges should have the minimum number of tests necessary to verify that a camper understands a concept.
Our goal is to communicate the single point that the challenge is trying to teach, and test that they have understood that point.
Challenge tests can make use of the Node.js and Chai.js assertion libraries. Also, if needed, user-generated code can be accessed in the `code` variable.
## Writing instructions
Sentences should be clear and concise with minimal jargon. If used, jargon should be immediately defined in plain English.
Keep paragraphs short (around 1-4 sentences). People are more likely to read several short paragraphs over a wall of text.
Challenge text should use the second person ("you") to help to give it a conversational tone. This way, the text and instructions seem to speak directly to the camper working through the challenge. Try to avoid using the first person ("I", "we", "let's", and "us").
Don't use outbound links. These interrupt the flow. And campers should never have to google anything during these challenges. If there are resources you think campers would benefit from, add them to the challenge's Guide-related article.
You can add diagrams if absolutely necessary.
Don't use emojis or emoticons in challenges. freeCodeCamp has a global community, and the cultural meaning of an emoji or emoticon may be different around the world. Also, emojis can render differently on different systems.
## Formatting challenge text
Here are specific formatting guidelines for challenge text and examples:
- Language keywords go in `<code>` tags. For example, HTML tag names or CSS property names
- The first instance of a keyword when it's being defined, or general keywords (i.e. "object" or "immutable") go in `<dfn>` tags
- References to code parts (i.e. function, method or variable names) should be wrapped in `<code>` tags. See example below:
````
Use <code>parseInt</code> to convert the variable <code>realNumber</code> into an integer.
````
- Multi-line code blocks **must be preceded by an empty line**. The next line must start with three backticks followed immediately by one of the [supported languages](https://prismjs.com/#supported-languages). To complete the code block, you must start a newline which only has three backticks and **another empty line**.
**Note:** If you are going to use an example code in YAML, use `yaml` instead of `yml` for the language to the right of the backticks.
See example below:
````
The following is an example of code:
```{language}
[YOUR CODE HERE]
```
````
- Additional information in the form of a note should be formatted `<strong>Note:</strong> Rest of note text...`
- If multiple notes are needed, then list all of the notes in separate sentences using the format `<strong>Notes:</strong> First note text. Second note text.`.
- Use double quotes where applicable
## Formatting seed code
Here are specific formatting guidelines for the challenge seed code:
- Use two spaces to indent
- JavaScript statements end with a semicolon
- Use double quotes where applicable
- Comments made should have a space between the comment characters and the comment themselves
`// Fix this line`
## Formatting Solution
The challenge solution must be in proper markdown tags. The code must be wrapped in `section` tags with an id of `solution`.
````
<section id='solution'>
```html or ```js
[ SOLUTION CODE]
```
</section>
````
Example:
````
<section id='solution'>
```html
<style>
#container p {
font-family: Arial, sans-serif;
}
</style>
<div id="container">
<p>Hello World!</p>
</div>
```
</section>
````
## Why do we have all these rules?
Our goal is to develop a fun and clear interactive learning experience.
Designing interactive coding challenges is difficult. It would be much easier to write a lengthy explanation or to create a video tutorial, and there's a place for those on Medium and YouTube. However, for our core curriculum, we're sticking with what works best for most people - a fully interactive, video game-like experience.
We want campers to achieve a flow state. We want them to build momentum and blast through our curriculum with as few snags as possible. We want them to go into the projects with confidence and a wide exposure to programming concepts.
Creating these challenges requires immense creativity and attention to detail. But you'll have plenty of help. You have support from a whole team of contributors, whom you can bounce ideas off of and demo your challenges to. Stay active in the [contributors room](https://gitter.im/freecodecamp/contributors) and ask lots of questions.
With your help, we can design an interactive coding curriculum that will help millions of people learn to code for years to come.
## Reply Templates for Moderators Reviewing Pull Requests
> You can make your own with GitHub's built-in [**Saved replies**](https://github.com/settings/replies/) feature or use the ones below.
### Thank you
```markdown
Thank you for your contribution to the page! 👍
We are happy to accept these changes and look forward to future contributions. 🎉
```
### Thank you and congrats
> For thanking and encouraging first-time contributors.
```markdown
Hi @username. Congrats on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We are happy to accept these changes and look forward to future contributions. 📝
```
### Build Error
```markdown
Hey @username
We would love to be able to merge your changes but it looks like there is an error with the Travis CI build. ⚠️
Once you resolve these issues, We will be able to review your PR and merge it. 😊
---
> Feel free to reference the [Style guide for writing articles](https://github.com/freeCodeCamp/freeCodeCamp#article-title) for this repo on formatting an article correctly so your Travis CI build passes. ✅
>
> Also, it's good practice on GitHub to write a brief description of your changes when creating a PR. 📝
```
### Syncing Fork
> When PR is not up to date with the `master` branch.
``````markdown
Hey @username
We would love to be able to merge your changes but it looks like there is an error with the Travis CI build. ⚠️
```bash
Error: ENOTDIR: not a directory, open 'src/pages/java/data-abstraction/index.md'
```
This particular error was not caused by your file but was an old error caused by merging faulty code to the `master` branch. It has since been resolved.
To pass the build, you will have to sync the latest changes from the `master` branch of the `freeCodeCamp/freeCodeCamp` repo.
Using the command line, you can do this in three easy steps:
```bash
git remote add upstream git://github.com/freeCodeCamp/freeCodeCamp.git
git fetch upstream
git pull upstream master
```
If you're using a GUI, you can simply `Add a new remote...` and use the link `git://github.com/freeCodeCamp/freeCodeCamp.git` from above.
Once you sync your fork and pass the build, We will be able to review your PR and merge it. 😊
---
> Feel free to reference the [Syncing a Fork](https://help.github.com/articles/syncing-a-fork/) article on GitHub for more insight on how to keep your fork up-to-date with the upstream repository. 🔄
>
> Also, it's good practice on GitHub to write a brief description of your changes when creating a PR. 📝
``````
### Merge Conflicts
> When PR has merge conflicts that need to be resolved.¹
```markdown
Hey @username
We would love to be able to merge your changes but it looks like you have some merge conflicts. ⚠️
Once you resolve these conflicts, We will be able to review your PR and merge it. 😊
---
> If you're not familiar with the merge conflict process, feel free to look over GitHub's guide on ["Resolving a merge conflict"](https://help.github.com/articles/resolving-a-merge-conflict-on-github/). 🔍️
>
> Also, it's good practice on GitHub to write a brief description of your changes when creating a PR. 📝
```
¹ If a first-time-contributor has a merge conflict, maintainers will resolve the conflict for them.
### Duplicate
> When PR is repetitive or a duplicate.
```markdown
Hey @username
It seems that similar changes have already been accepted earlier for this article you are editing, sorry about that. 😓
If you feel you have more to add, please feel free to open up a new PR.
Thanks again! 😊
---
> If you have any questions, feel free to reach out through [Gitter](https://gitter.im/FreeCodeCamp/Contributors) or by commenting below. 💬
```
### Closing invalid pull requests
> When PR is invalid.
```markdown
Hey @username
You have not added any content, We will be closing this PR and marking it as `invalid`. 😓️
Feel free to open another PR though! 👍
```