mirror of
https://github.com/Raghu-Ch/angular-challenges.git
synced 2026-02-10 21:03:03 -05:00
Merge pull request #544 from stillst/feat-ru
feat(docs): add russian lang
This commit is contained in:
48
docs/src/content/docs/ru/guides/checkout-answer.md
Normal file
48
docs/src/content/docs/ru/guides/checkout-answer.md
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
title: Изучайте чужие решения
|
||||
description: Руководство по просмотру чужого ответа.
|
||||
sidebar:
|
||||
order: 3
|
||||
---
|
||||
|
||||
Все ответы на испытания Angular представлены в виде Pull Request (PR). Чтобы их просмотреть и изучить, нужно перейти на страницу **Files Changes** на GitHub. Однако, если вы не знакомы с интерфейсом, процесс может быть не очевидным. Иногда посмотреть на решение в вашей любимой IDE может быть удобнее.
|
||||
|
||||
Это руководство поможет вам с этим.
|
||||
|
||||
## Проверьте чужой PR локально
|
||||
|
||||
### Синхронизируйте свой репозиторий
|
||||
|
||||
В начале вам нужно синхронизировать вашу копию репозитория, чтобы убедиться, что она находится в актуальном состоянии.
|
||||
|
||||
Это можно сделать, нажав на кнопку **Sync fork** на главной странице репозитория.
|
||||
|
||||

|
||||
|
||||
На изображении выше видно, что моя ветка отстает от основной ветки на 8 коммитов, и мне нужно синхронизировать ее, чтобы она была в актуальном состоянии.
|
||||
|
||||

|
||||
|
||||
### Перейдите к PR
|
||||
|
||||
Перейдите к PR, который вы хотите изучить локально, и узнайте его ID. Вы найдете его в заголовке PR (как показано ниже).
|
||||
|
||||

|
||||
|
||||
Далее откройте терминал в каталоге проекта и выполните следующую команду:
|
||||
|
||||
```bash
|
||||
gh pr checkout <ID>
|
||||
```
|
||||
|
||||
Если вы не помните команду, нажмите на кнопку "Code" в правой части заголовка, и вы сможете легко скопировать/вставить команду.
|
||||
|
||||

|
||||
|
||||
:::note[Примечание]
|
||||
Если команда не сработала, Github CLI подскажет, что делать.
|
||||
:::
|
||||
|
||||
🔥Теперь вы можете изучить решение локально и запустить его для тестирования.🔥
|
||||
|
||||
<!-- gh repo set-default -->
|
||||
20
docs/src/content/docs/ru/guides/contribute.md
Normal file
20
docs/src/content/docs/ru/guides/contribute.md
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
title: Вносите свой вклад
|
||||
description: Описание как помочь проекту
|
||||
sidebar:
|
||||
order: 4
|
||||
---
|
||||
|
||||
Вы можете помочь проекту многими способами:
|
||||
|
||||
🔥 Создавайте новые испытания, следуя инструкциям [тут](/guides/create-challenge).
|
||||
|
||||
🔥 Проходите испытания и отправляйте свои решения на ревью (руководство [тут](/guides/resolve-challenge)).
|
||||
|
||||
🔥 Проводите ревью чужих решений, оставляя конструктивные и вежливые комментарии.
|
||||
|
||||
🔥 Исправляйте опечатки и ошибки в документации.
|
||||
|
||||
🔥 Оставляйте issues, чтобы предложить идеи новых испытаний или сообщить об ошибках.
|
||||
|
||||
🔥 Поддерживайте проект [тут](https://github.com/sponsors/tomalaforge).
|
||||
54
docs/src/content/docs/ru/guides/create-challenge.md
Normal file
54
docs/src/content/docs/ru/guides/create-challenge.md
Normal file
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: Создайте свое испытание
|
||||
description: Руководство по созданию испытания
|
||||
sidebar:
|
||||
order: 5
|
||||
---
|
||||
|
||||
У вас есть идея, которой вы хотите поделиться, интересная ошибка, с которой вы боретесь в одном из своих проектов, или что-то необычное в Angular, что вы обнаружили. Всё это - хорошая отправная точка, чтобы создать испытание и поделиться её решением с другими.
|
||||
|
||||
Но как начать создавать испытания?
|
||||
|
||||
## Шаблон создания испытания
|
||||
|
||||
Чтобы упростить этот процесс, я создал генератор Nx, который настроит все за вас и поможет вам быстрее начать. Проще всего его запустить в консоли Nx: перейдите в раздел <b>Nx Console > generate > @angular-challenges/cli - challenge</b>
|
||||
|
||||
### Параметры
|
||||
|
||||
#### обязательные параметры
|
||||
|
||||
- <b>title</b>: Название, которое вы хотите дать испытанию.
|
||||
:::note[Примечание]
|
||||
Название должно быть не больше 25 символов.
|
||||
:::
|
||||
|
||||
- <b>challengeDifficulty</b>: Сложность испытания. Есть три уровня сложности : 🟢 простой / 🟠 средний / 🔴 трудный
|
||||
- <b>name</b>: Имя NX приложения.
|
||||
:::note[Примечание]
|
||||
Имя должно быть написано **kebab-case**
|
||||
:::
|
||||
- <b>docRepository</b>: Категория испытания: Nx, Angular, Angular Performance, Rxjs, NgRx, Typescript.
|
||||
|
||||
#### необязательные параметры
|
||||
|
||||
- <b>directory</b>: Если вы не хотите, чтобы приложение находилось в стандартной папке внутри `apps`.
|
||||
- <b>addTest</b>: Если хотите добавить конфигурацию теста.
|
||||
|
||||
### Что будет создано
|
||||
|
||||
- Генератор создаст все файлы, необходимые для нового рабочего приложения. Все эти файлы будут созданы внутри `apps/${directory}/${name}`
|
||||
- Файл Markdown с минимальными настройками будет создан внутри `docs/src/content/docs/challenges/${docRepository}`
|
||||
|
||||
## Создание испытания
|
||||
|
||||
Все что осталось - создать испытание. 🚀
|
||||
|
||||
:::danger[Опасно]
|
||||
Не забудьте обновить документацию, чтобы описать свою задачу и дать инструкции.
|
||||
:::
|
||||
|
||||
Дальше действовать будете вы!!! 💪
|
||||
|
||||
## Отправка решения
|
||||
|
||||
Не забудьте представить своё решение задачи в течение недели.
|
||||
17
docs/src/content/docs/ru/guides/faq.md
Normal file
17
docs/src/content/docs/ru/guides/faq.md
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: Часто задаваемые вопросы
|
||||
description: Ответы на вопросы
|
||||
sidebar:
|
||||
order: 7
|
||||
---
|
||||
|
||||
<details>
|
||||
<summary>Почему мое приложение не запускается, или почему я вижу ошибки в терминале при запуске `nx serve`?</summary>
|
||||
|
||||
Чаще всего эта проблема возникает из-за того, что node_modules устарели, и вам нужно обновить их, выполнив команду `npm ci`.
|
||||
|
||||
Если установка завершилась неудачно, вы можете попробовать решить эту проблему, удалив папку node_modules с помощью команды `rm -rf node_modules` или `npx npkill` а затем снова выполнить `npm ci`.
|
||||
|
||||
Если проблема сохранится, пожалуйста, сообщите о ней [тут](https://github.com/tomalaforge/angular-challenges/issues/new).
|
||||
|
||||
</details>
|
||||
58
docs/src/content/docs/ru/guides/getting-started.md
Normal file
58
docs/src/content/docs/ru/guides/getting-started.md
Normal file
@@ -0,0 +1,58 @@
|
||||
---
|
||||
title: Первые шаги
|
||||
description: Руководство о том, как начать работу с испытаниями Angular.
|
||||
sidebar:
|
||||
order: 1
|
||||
---
|
||||
|
||||
Чтобы начать работу с <b>испытаниями Angular</b>, выполните следующие шаги:
|
||||
|
||||
## Создайте аккаунт на Github
|
||||
|
||||
Если вы захотите отправить свое решение для испытания, вам потребуется аккаунт на GitHub. Кроме того, иметь учетную запись на GitHub всегда полезно, тем более это бесплатно.
|
||||
|
||||
## Скопируйте github проект
|
||||
|
||||
Перейдите в [Angular Challenges Repository](https://github.com/tomalaforge/angular-challenges) и нажмите на кнопку <span class="github-neutral-btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2">
|
||||
<path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path></svg>Fork</span> в вверху страницы. Это создаст копию репозитория на вашей GitHub странице.
|
||||
|
||||
## Клонируйте репозиторий на свой компьютер
|
||||
|
||||
Выберите папку на своем компьютере и клонируйте репозиторий.
|
||||
|
||||
Откройте терминал, перейдите в выбранный каталог и наберите команду:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/[YOUR_GITHUB_NAME]/angular-challenges.git
|
||||
```
|
||||
|
||||
:::note
|
||||
|
||||
Вы можете найти URL адрес клонированного репозитория, нажав на кнопку <span class="github-success-btn"><> Code</span> в <b>вашем собственном</b> экземпляре репозитория Angular Challenges.
|
||||
|
||||

|
||||
|
||||
:::
|
||||
|
||||
## Откройте проект в вашей любимой среде разработки
|
||||
|
||||
Откройте проект в любой IDE на ваш выбор.
|
||||
|
||||
## Установите все зависимости
|
||||
|
||||
```bash
|
||||
npm ci
|
||||
```
|
||||
|
||||
## Выберите задачу
|
||||
|
||||
Ваш проект сейчас поднят и запущен. Осталось только выбрать испытание 🚀
|
||||
|
||||
Каждое испытание состоит из:
|
||||
|
||||
- <b>Имя</b>: описывает о чем испытание.
|
||||
- <b>Номер</b>: порядковый номер создания. Этот номер не несет какого-то смысла, но служит для ссылки в секции Github Pull Request.
|
||||
- <b>Бейдж</b>: показывает уровень сложности. Полностью субъективно 😅
|
||||
- 🟢 простое
|
||||
- 🟠 среднее
|
||||
- 🔴 сложное
|
||||
55
docs/src/content/docs/ru/guides/rebase.md
Normal file
55
docs/src/content/docs/ru/guides/rebase.md
Normal file
@@ -0,0 +1,55 @@
|
||||
---
|
||||
title: Сделайте rebase вашей ветки
|
||||
description: Руководство по rebase ветки на последние изменения
|
||||
sidebar:
|
||||
order: 6
|
||||
---
|
||||
|
||||
Иногда в проект могут вноситься изменения. Я стараюсь вносить изменения, которые ничего не сломают, но иногда этого не избежать.
|
||||
|
||||
В большинстве случаев вам не придется делать rebase вашего решения, но вот руководство, которое поможет вам понять, как это сделать.
|
||||
|
||||
:::note[Примечание]
|
||||
Это руководство применимо к любому проекту с открытым исходным кодом.
|
||||
:::
|
||||
|
||||
## Шаги rebase
|
||||
|
||||
### Синхронизируйте ваш репозиторий
|
||||
|
||||
Во-первых, вам нужно синхронизировать вашу копию, чтобы убедиться, что она содержит последние изменения.
|
||||
|
||||
Вы можете сделать это, нажав на кнопку Sync fork на главной странице вашего репозитория.
|
||||
|
||||

|
||||
|
||||
На изображении выше видно, что моя ветка отстает от основной ветки на 8 коммитов, и мне нужно синхронизировать ее, чтобы она была в актуальном состоянии.
|
||||
|
||||

|
||||
|
||||
### Откройте терминал
|
||||
|
||||
Откройте любой терминал, будь то терминал в любимой IDE или отдельное приложение.
|
||||
|
||||
### Гит
|
||||
|
||||
Выполните следующие команды, чтобы сделать rebase локальной ветки:
|
||||
|
||||
- git checkout main
|
||||
- git pull
|
||||
- git checkout [your branch]
|
||||
- git rebase main
|
||||
- Разрешите конфликты
|
||||
|
||||
На этом этапе rebase может остановиться, потому что в вашей локальной ветке есть конфликтующие файлы с основной веткой. Исправьте это. После того как закончите:
|
||||
|
||||
- git add .
|
||||
- git rebase --continue
|
||||
|
||||
Если в вашей ветке нет конфликтов, будет показано сообщение об успехе.
|
||||
|
||||
### Отправьте свою работу в удаленный репозиторий
|
||||
|
||||
Наконец, отправьте свою работу на GitHub:
|
||||
|
||||
- git push -f
|
||||
93
docs/src/content/docs/ru/guides/resolve-challenge.md
Normal file
93
docs/src/content/docs/ru/guides/resolve-challenge.md
Normal file
@@ -0,0 +1,93 @@
|
||||
---
|
||||
title: Пройдите испытание
|
||||
description: Инструкция по прохождению испытания
|
||||
sidebar:
|
||||
order: 2
|
||||
---
|
||||
|
||||
В этом руководстве вы узнаете, как пройти испытание и отправить свое решение.
|
||||
|
||||
## Вступление
|
||||
|
||||
Этот репозиторий работает под управлением [Nx](https://nx.dev/getting-started/intro). <b>Nx</b> - это монорепозиторий, который позволяет вам хранить несколько приложений в одном рабочем пространстве.
|
||||
Каждое испытание - это отдельное приложение. Если вы откроете каталог `apps`, то обнаружите несколько директорий, каждая из которых относится к определенной задаче. Каждый каталог представляет собой полноценное приложение `Nx`. Чтобы запустить и начать работу с одним из них, откройте терминал и выполните команду:
|
||||
|
||||
```bash
|
||||
npx nx serve <ИМЯ_ПРИЛОЖЕНИЯ>
|
||||
```
|
||||
|
||||
:::note[Примечание]
|
||||
Если вы не уверены в названии испытания `ИМЯ_ПРИЛОЖЕНИЯ`, откройте файл README.md. Там написана команда `serve` со ссылкой на документацию по испытанию.
|
||||
:::
|
||||
|
||||
:::note[Примечание]
|
||||
Если `nx` установлен глобально на вашем компьютере, вы можете опустить команду `npx`.
|
||||
Чтобы установить `nx` глобально, выполните
|
||||
|
||||
```bash
|
||||
npm i -g nx
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
## Создайте Git Ветку
|
||||
|
||||
Прежде чем приступить к реализации вашего решения испытания, создайте ветку git для фиксации своей работы.
|
||||
|
||||
```bash
|
||||
git checkout -b <BRANCH_NAME>
|
||||
```
|
||||
|
||||
## Пройдите испытание
|
||||
|
||||
Изучите инструкции, чтобы пройти испытание.
|
||||
|
||||
## Сделайте коммит и отправьте код в репозиторий
|
||||
|
||||
Последний шаг - это создание коммита, который следовал бы правилам из [Соглашения о коммитах](https://www.conventionalcommits.org/ru/v1.0.0/).
|
||||
|
||||
Наконец, отправьте свою работу в удаленный репозиторий с помощью следующей команды:
|
||||
|
||||
```bash
|
||||
git push --set-upstream origin <BRANCH_NAME>
|
||||
```
|
||||
|
||||
:::tip[Не запоминай команду]
|
||||
Вам не нужно запоминать команду в точности. Нужно просто запомнить `git push`, и если вы впервые загружаете эту ветку в репозиторий, `git` подскажет вам полную команду.
|
||||
:::
|
||||
|
||||
## Отправьте свое решение в основной репозиторий
|
||||
|
||||
Теперь все ваше решение находится в вашем экземпляре репозитория Angular Challenges.
|
||||
|
||||
Следующий шаг - перейдите на главную страницу [Angular Challenges](https://github.com/tomalaforge/angular-challenges) и создайте новый запрос на слитие (Pull Request).
|
||||
|
||||
Github должен показать уведомление, чтобы помочь вам создать pull request.
|
||||
|
||||
Если этого не случилось, то вы либо неправильно выполнили один из предыдущих шагов, либо вам нужно перейти на вкладку Pull Request и нажать кнопку <span class="github-success-btn">New pull request.</span>
|
||||
|
||||
После того как вы выберете две ветки для сравнения, вы попадете на следующую страницу:
|
||||
|
||||

|
||||
|
||||
В заголовке напишите Answer:, затем номер вашего испытания. После этого можете добавить все, что пожелаете.
|
||||
|
||||
:::danger[Опасно]
|
||||
Порядковый номер очень важен. Он позволит другим узнать, какое испытание вы пытаетесь решить.
|
||||
:::
|
||||
|
||||
В разделе описания вы можете добавить вопросы, проблемы, с которыми столкнулись, или все остальное, чем захотите поделиться. Если нечего написать, можете оставить этот раздел пустым.
|
||||
|
||||
Теперь вы можете нажать на кнопку <span class="github-success-btn">Create pull request</span>.
|
||||
|
||||
Я прочитаю и проведу ревью вашего решения, <b>когда у меня будет свободное время.</b>
|
||||
|
||||
<p class="important-block">Не переживайте если я не прокомментировал ваше решение сразу же. Я делаю это <b>бесплатно</b> в свое <b>свободное время</b>. Если вы хотите меня поддержать, вы можете это сделать с помощью <a href="https://github.com/sponsors/tomalaforge">поддержать на github</a>. Это покажет, что моя работа полезна для вас или вашей команды.</p>
|
||||
|
||||
:::note[Примечание]
|
||||
Все желающие могут оставлять комментарии и читать другие PR.
|
||||
:::
|
||||
|
||||
:::tip[OSS чемпион]
|
||||
🔥 После того как вы пройдете это руководство, вы сможете внести свой вклад в любой другой публичный репозиторий на Github. Да, это настолько просто.🔥
|
||||
:::
|
||||
79
docs/src/content/docs/ru/index.mdx
Normal file
79
docs/src/content/docs/ru/index.mdx
Normal file
@@ -0,0 +1,79 @@
|
||||
---
|
||||
title: Добро пожаловать в испытания Angular
|
||||
description: Начните с прохождения этих испытаний и прокачайтесь как Angular разработчик.
|
||||
template: splash
|
||||
noCommentSection: true
|
||||
hero:
|
||||
tagline: Начните сейчас и станьте экспертом Angular!
|
||||
image:
|
||||
file: ../../../assets/angular-challenge.webp
|
||||
actions:
|
||||
- text: Начать
|
||||
link: /ru/guides/getting-started/
|
||||
icon: right-arrow
|
||||
variant: primary
|
||||
- text: Перейти к последней задаче
|
||||
link: /ru/challenges/angular/39-injection-token/
|
||||
icon: rocket
|
||||
- text: Добавить звезду
|
||||
link: https://github.com/tomalaforge/angular-challenges
|
||||
icon: github
|
||||
variant: secondary
|
||||
---
|
||||
|
||||
import { Card, CardGrid } from '@astrojs/starlight/components';
|
||||
import MyIcon from '../../../components/MyIcon.astro';
|
||||
|
||||
<CardGrid>
|
||||
<Card title="43 Испытания">
|
||||
Этот репозиторий содержит 43 испытания, связанных с <b>Angular</b>, <b>Nx</b>, <b>RxJS</b>, <b>Ngrx</b> and <b>Typescript</b>.
|
||||
Испытания основаны на реальных задачах или инструментах для того, чтобы прокачать вас.
|
||||
</Card>
|
||||
|
||||
<Card title="Станьте мейнтейнером открытого программного обеспечения (OSS)">
|
||||
Одна из целей этого репозитория <b>снизить барьер</b> для разработки
|
||||
открытого программного обеспечения (OSS). Решив эти задачи, вы поймете,
|
||||
как начать вносить свой вклад в любой другой проект с открытым исходным кодом.
|
||||
</Card>
|
||||
|
||||
<Card title="Учитесь вместе с другими">
|
||||
Изучение и использование нового фреймворка всегда сопряжено с трудностями.
|
||||
В этом наборе испытаний содержатся реальные примеры задач, чтобы закрепить на практике то, чему вы научились.
|
||||
Любой может оставить комментарий или предложить помощь.
|
||||
<b>
|
||||
Учиться одному - здорово, но обучение вместе с другими поможет вам добиться большего.
|
||||
</b>
|
||||
</Card>
|
||||
|
||||
<Card title="Вносите свой вклад">
|
||||
У вас есть идея или интересный баг? Не стесняйтесь;{' '}
|
||||
<b>Создавайте свои собственные испытания</b> не теряя времени.
|
||||
</Card>
|
||||
|
||||
<Card title="Подготовьтесь к собеседованию">
|
||||
Прохождение этих испытаний подготовит вас к техническим задачам, с которыми вы
|
||||
можете столкнуться во время собеседований на позицию фронтенд-разработчика.
|
||||
</Card>
|
||||
|
||||
<Card title="Поддержка">
|
||||
Это бесплатный проект, и он будет оставаться таковым как можно дольше.
|
||||
Однако вся работа ведется в мое свободное время, включая создание новых испытаний и ревью их решений(PRs).
|
||||
<b>Спонсорство может поддержать меня и способствовать развитию проекта</b>.
|
||||
</Card>
|
||||
|
||||
</CardGrid>
|
||||
|
||||
---
|
||||
|
||||
<div class="article-footer">
|
||||
<a href="https://github.com/sponsors/tomalaforge" alt="Sponsor link">
|
||||
<MyIcon name="fillHeart" size="1.2rem" color="white" />
|
||||
Поддержать проект
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="main-page-footer">
|
||||
Создано{' '}
|
||||
<a href="https://github.com/tomalaforge?tab=repositories">Thomas Laforge</a> -
|
||||
Работает на 🌟 <a href="https://starlight.astro.build/">Starlight</a>
|
||||
</div>
|
||||
22
docs/src/content/i18n/ru.json
Normal file
22
docs/src/content/i18n/ru.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"page.title.challenge": "Испытание",
|
||||
"author.createdBy": "Создано",
|
||||
"buttons.star": "Дать звезду",
|
||||
"buttons.sponsor": "Спонсор",
|
||||
|
||||
"404.text": "Страница не найдена. Проверьте URL-адрес или воспользуйтесь строкой поиска.",
|
||||
|
||||
"challenge.footer": {
|
||||
"note": "Примечание",
|
||||
"running": "Запустите проект, выполнив команду:",
|
||||
"start": "Название вашего PR должно начинаться со слов",
|
||||
"reminder": "Не забудьте",
|
||||
"communityAnswers": "Решения сообщества",
|
||||
"authorAnswer": "Решение автора",
|
||||
"blogPost": "Статья",
|
||||
"gettingStarted": {
|
||||
"title": "Чтобы пройти это испытание, прочитайте:",
|
||||
"link": "Первые шаги"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user