Кафедра ИТКафедра ИТ
Блог
Обучение
  • О кафедре
  • Направления подготовки
  • Друзья и партнеры
  • Структура кафедры
  • Обращение к студентам
  • Официальный сайт «ВШП»
GitHub
Блог
Обучение
  • О кафедре
  • Направления подготовки
  • Друзья и партнеры
  • Структура кафедры
  • Обращение к студентам
  • Официальный сайт «ВШП»
  • Квизы (Markdown-плагин)

  1. Главная
  2. Раздел тестирования возм...
  3. Квизы (Markdown-плагин)

Квизы (Markdown-плагин)

::: quiz — кастомный контейнер для вопросов с вариантами ответов.

ОпцияЗначение по умолчаниюОписание
randomize-questionsfalseПеремешать порядок вопросов.
randomize-answersfalseПеремешать ответы внутри каждого вопроса.
hide-correct-answersfalseНе подсвечивать правильные варианты после проверки.
disable-resetfalseСкрыть кнопку сброса (повторное прохождение будет недоступно).
questions-limit=<n>(все вопросы)Ограничить число вопросов, выбранных из базы.
source=<path>(не задано)Загрузить вопросы из внешнего JSON/YAML файла. Можно указать несколько source.
lectures=01,02(все)Для файлов с блоками lectures позволяет выбрать нужные разделы.
show-question-codesfalseПоказывать идентификатор вопроса рядом с заголовком.
examfalseВключить «боевой» режим (ФИО, таймер, экспорт результата).
time-limit=<min>60Лимит времени в минутах для режима exam.
require-nametrueТребовать ввод ФИО перед стартом в режиме exam.
reset-after=<min>(не задано)Показать кнопку сброса через N минут в режиме exam.

Если используется source, путь считается относительно текущего Markdown-файла (можно также указывать абсолютные или @/ пути). В файле достаточно перечислить массив объектов с полями question (или prompt), type (single / multiple) и answers (строка или объект с text/content и correct/isCorrect). Вместо массива можно передать объект { "questions": [...] } или развернутую структуру вида:

lectures:
  - lecture_id: '01'
    questions:
      - id: IT03-01-Q01
        question: ...
        answers:
          - text: Вариант
            correct: true

В этом случае можно использовать опцию lectures=..., чтобы собрать квиз только из нужных лекций.

Служебные директивы внутри контейнера:

  • @question — начало формулировки вопроса;
  • @answer — дальше идёт список с радиокнопками (один правильный вариант);
  • @answers — список с чекбоксами (несколько правильных вариантов).

Встроенный (Markdown) вариант

Классический случай: все вопросы задаём прямо в Markdown, в нужных местах оставляем @question, @answer или @answers. Для демонстрации добавлен лимит в три вопроса, чтобы показать, что даже при большой «базе» можно отдать пользователю только часть.

Посмотреть код
  ::: quiz randomize-questions randomize-answers hide-correct-answers questions-limit=3

    @question

    Это вопрос на который есть один верный вариант.

    @answer

    - [ ] неверный
    - [x] верный
    - [ ] еще неверный
    - [ ] и еще неверный

    @question

    На этот вопрос есть несколько верных вариантов.

    @answers

    - [ ] неверный
    - [x] верный
    - [ ] еще неверный
    - [x] и еще верный

    @question

    Здесь дополнительный одиночный вопрос без перемешивания внутри текста.

    @answer

    - [x] Единственный верный вариант
    - [ ] Вариант без галочки считается неверным

    @question

    Выберите лишнее число.

    @answer

    - [ ] 1
    - [x] 0
    - [ ] 2
    - [ ] 4

    @question

    Вопрос с множественными вариантами без описания.

    @answers

    - [x] Первый ответ
    - [ ] Второй ответ
    - [x] Третий ответ

  :::

Квиз из JSON-файла (внешний источник)

Банк вопросов хранится в JSON (./includes/quiz-bank.json). Плагин сам подгружает его и перемешивает вопросы/ответы:

Посмотреть код
  ::: quiz source=./includes/quiz-bank.json randomize-questions randomize-answers hide-correct-answers questions-limit=3
  :::

Квиз из YAML-файла (внешний источник)

Пример с YAML (./includes/quiz-bank.yaml) ничем не отличается от JSON — достаточно указать путь в source=:

Посмотреть код
  ::: quiz source=./includes/quiz-bank.yaml randomize-questions randomize-answers hide-correct-answers questions-limit=3
  :::

Квиз из лекционных файлов

Комбинация нескольких source

  • Для каждой лекции есть собственный файл disciplines/it03/lectures/includes/quiz-XX.yaml. Именно их редактируем, если нужно обновить вопросы.
  • Если нужно использовать сразу несколько лекций, достаточно перечислить несколько source:
Посмотреть код
  ::: quiz source=./includes/quiz-01.yaml source=./includes/quiz-02.yaml randomize-questions randomize-answers show-question-codes hide-correct-answers questions-limit=3
  :::
  • Вариант с агрегированным файлом тоже возможен: можно собрать общий YAML вручную (см. ./includes/it03-midterm.yaml, где объединены лекции 01 и 02) и затем указать source на него, добавив lectures=..., если требуется.

Агрегированный банк (промежуточный тест)

Посмотреть код
  ::: quiz source=./includes/it03-midterm.yaml lectures=01,02 randomize-questions randomize-answers show-question-codes hide-correct-answers questions-limit=3
  :::

Экзаменационный режим (боевой)

Для контрольного теста можно включить режим exam. В нём студент вводит ФИО, запускает таймер, получает вопросы и после завершения скачивает результаты. Правильные ответы не подсвечиваются, а вопросы без ответа по истечении времени считаются неверными.

Что происходит в exam:

  • перед стартом требуется ФИО;
  • запускается таймер и отображается в фиксированной панели при прокрутке;
  • при завершении времени все неотвеченные вопросы считаются неверными;
  • после завершения появляется кнопка «Скачать результаты» (ФИО, время начала/окончания, длительность, ответы и статус).
  • при использовании reset-after кнопка «Сбросить» появляется через указанное число минут.
Посмотреть код
  ::: quiz exam require-name time-limit=3 reset-after=1 randomize-questions randomize-answers show-question-codes hide-correct-answers questions-limit=3 source=./includes/quiz-01.yaml source=./includes/quiz-02.yaml
  :::
Последнее обновление: 24.02.2026, 22:37
Предыдущая
Подсветка синтаксиса Prism
Следующая
Railroad-диаграммы
© Кафедра информационных технологий ЧУВО «ВШП», 2026. Версия: 0.35.12
Материалы доступны в соответствии с лицензией: