Skip to main content
Help the Python Software Foundation raise $60,000 USD by December 31st!  Building the PSF Q4 Fundraiser

CLI for hexlet.io

Project description

Установка

pip install hexlet

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

Пример готового урока, который можно пройти на hexlet.io: https://github.com/Hexlet/example_lesson

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

hexlet-lesson init

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

lesson.yml

  • units – список юнитов, которые будут содержаться в этом уроке. Перечислите только юниты, которые вы реализовали (см. пример в файле lesson.yml)
  • description – описание урока в произвольном формате, без описания цели и аудитории. Опционально.
  • mission - цель урока/курса в ответа нв вопрос “что это даст”. Пример – “После этого урока вы сможете балансировать двоичные деревья”
  • audience – для кого этот урок/курс. Пример – “Урок рассчитан на людей, знакомых с базовыми принципами программирования”

Теория (theory unit)

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

Тесты (quiz unit)

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

type: answers

Правильный ответ нужно писать первым. При выводе вопроса все ответы будут перемешаны.

type: filling

Пропущенный текст заключается в ^(). Регистр не имеет значения. При выводе вопроса на сайте, вместо этой заглушки будет показан html input.

Терминал (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.

Files for hexlet, version 0.3.6
Filename, size File type Python version Upload date Hashes
Filename, size hexlet-0.3.6.tar.gz (60.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page