semvec/pypi-packages huggingface dataset:
hexlet 0.6.3
CLI for hexlet.io
License: MIT

Установка
~~~~~~~~~

::

    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 <ПУТЬ_ДО_УРОКА>