Skip to main content

CLI for hexlet.io

Project description

Установка

pip install hexlet

Создание урока

Пример готового урока, который можно пройти на hexlet.io: * урок на сайте – http://hexlet.io/lessons/example/ * исходник – https://github.com/Hexlet/example_lesson

Сгенерируем скелет нового урока:

hexlet-lesson init

Урок состоит из юнитов (theory, quiz, terminal, codex, code)

lesson.yml

  • name – название урока

  • language – язык(и) программирования, используемый в уроке. Например, python, java, go

  • description – описание урока в произвольном формате, без описания цели и аудитории. Опционально.

  • mission - цель урока/курса в ответа нв вопрос “что это даст”. Пример – “После этого урока вы сможете балансировать двоичные деревья”

  • audience – для кого этот урок/курс. Пример – “Урок рассчитан на людей, знакомых с базовыми принципами программирования”

  • units – список юнитов, которые будут содержаться в этом уроке. Перечислите только юниты, которые вы реализовали (см. пример в файле lesson.yml)

Теория (theory unit)

  • В main.yml указывается id ролика на youtube (например, eXI_TFW5Cdo). Опционально (если вы решили использовать видео для урока).

  • main.md - текст урока. Опционально.

  • transcription.md - расшифровка видео урока. Опционально.

Тесты (quiz unit)

Поддерживаются два вида вопросов: выбор ответа (quiz) и заполнение бланков (fill in). Для каждого вопроса необходимо прописывать уникальный slug (ключ верхнего уровня). В main.yml есть примеры вопросов.

type: answers

В блоке correct_answers можно перечислять несколько допустимых правильных ответов. См. пример в quiz/main.yml

type: filling

В блоке text помещаются блоки %{something}, в блоке correct_answers помешаются допустимые ответы для something. См. пример в quiz/main.yml

Терминал (terminal unit)

# FIXME

Код в браузере (codex unit)

# FIXME

Код (code unit)

Для унификации и простоты работы мы составили следующую схему: В папке code должен лежать файл Makefile который имеет три команды: * install - если необходимо делать установку дополнительных библиотек, создавать файлы, менять права и т.п. * run - если нужно запускать, например, сервер. * stop - для остановки (если run демонизирует) * test - основная команда, которая запускает тесты и по которой мы определяем выполненность задания.

Описание задания обязатально и должно находиться в файле README.md. Оно будет отображаться на сайте в соответствующем юните.

Отправка урока

Сначала нужно авторизоваться, используя свой логин и API_KEY со страницы http://hexlet.io/account/profile:

hexlet-lesson login <LOGIN> <API_KEY>

Теперь можно отправить урок на модерацию:

hexlet-lesson submit <ПУТЬ_ДО_УРОКА>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hexlet-0.6.3.tar.gz (14.0 kB view details)

Uploaded Source

File details

Details for the file hexlet-0.6.3.tar.gz.

File metadata

  • Download URL: hexlet-0.6.3.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for hexlet-0.6.3.tar.gz
Algorithm Hash digest
SHA256 69f21c6551860c5c32b660c32a65a9c9546cf19b899b6e720afe107f94d5b8f6
MD5 5e25ee5450087d3f1033eb482e1015b1
BLAKE2b-256 4b5b35042d3e9ea4dd1e39d13cbf3bff8649efab290c06d99cf560525f1cb14a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page