Данный репозиторий нужен для работы с программами, курсами, практиками, проектами Хекслета.
-
Клонируем репозиторий
git clone [email protected]:hexlethq/hexlet-exercise-kit.git
-
Переходим в директорию hexlet-exercise-kit
cd hexlet-exercise-kit
-
Создаём поддиректории в которых будем размещать практики, проекты, курсы, программы
make prepare-dirs
-
Структура директорий в hexlet-exercise-kit имеет принципиальное значение и должна соблюдаться
tree exercises exercises └── ru └── course-js-arrays ├── js_arrays_aggregation_exercise ├── js_arrays_snail_exercise └── js_arrays_syntax_exercise
В данном примере:
- exercises — директория для всех практик любой локали. Внутри содержит разделение по локализации
- ru — содержит все практики с русской локализацией
- course-js-arrays — группирует упражнения и испытания в рамках одного курса. Имя состоит из префикса course и собственно названия курса. В качестве разделителя используется дефис
- js_arrays_syntax_exercise - директория с практикой. Имя состоит из названия курса, названия упражнения и постфикса exercise (используется один и тот же как для упражнений, так и для испытаний)
-
Директория с практикой создаётся по шаблону https://gitlab.com/hexlethq/boilerplates/example_exercise. Смотрите ридми репозитория и подробные комментарии внутри файлов
-
Локально, чтобы проверить работу практики нужно выполнить команды (все команды выполняются непосредственно в директории практики):
# сборка практики make build # остановка уже запущенного контейнера (если таковой есть) и запуск контейнера с практикой make start # подключится к запущенному контейнеру (если нужно) make attach # запуск тестов make lint # проверить код линтером с настройками продакшена # make lint-hexlet-<language> # доступные команды линтинга содержаться в docker.mk # например: lint-hexlet-js
Если практика содержит веб-доступ, то проверить его работу можно после старта контейнера (
make start
) в браузере по адресу http://localhost
-
Структура директорий в hexlet-exercise-kit имеет принципиальное значение и должна соблюдаться
tree courses courses └── ru ├── js_arrays_course └── js_async_course
В данном примере:
- courses — директория для всех курсов любой локали. Внутри содержит разделение по локализации
- ru — содержит все курсы с русской локализацией
- js_arrays_course - директория с курсом. Имя состоит из языка, названия курса и постфикса course
-
Директория с курсом создаётся по шаблону https://gitlab.com/hexlethq/boilerplates/example_course. Смотрите ридми репозитория и подробные комментарии внутри файлов
-
Работа с курсом не предусматривает выполнение каких-либо команд
make
Чтобы скачать/обновить практики курса, можете вызывать загрузчик и указать путь к курсу
# скачиваем практики из https://gitlab.hexlet.io/hexlethq/exercises/ru/course-python-lists
make downloader-run FILTER=exercises/ru/course-python-lists