JS Courses on Vue.js
Доступно по адресу: https://courses-redishko.c9users.io/
. └── i-course-name ├── j-task-name │ ├── meta.json │ └── theory.html ├── files └── meta.json
В /files хранятся файлы, которые будут загружены для каждого задания курса В meta.json курса необходимо указать порядок, в котором они будут загружаться на странице задания
meta.json:
{
"title": "Название",
"description": "Описание",
"filesOrder": ["fileName1", "fileName2"]
}
meta.json:
{
"type": "<ТИП ЗАДАНИЯ>",
"name": "Название",
"description": "Описание",
"isChallenge": false
}
Используются при маршрутизации в браузере и отображении списков:
- i - номер курса
- j - номер задания
Пользовательские названия, не используются:
- course-name - пользовательское название, не используется
- task-name - пользовательское название, не используется
Каждое задание может быть испытанием (поведение задания в режиме испытания задается отдельно для каждого типа задания)
Для каждого задания доступна теория (которая также служит описание задания)
В испытании и в задании доступно:
- iframe (в который загружаются файлы из папки /initial)
- редакторы кода HTML, CSS, JS (в которые помещаются файлы из папки /initial)
Для задания доступна:
- панель с целями (в которую загружаются goals.html)
Для испытания доступна:
- картинка, показывающая к какому виду нужно привести находящееся в iframe (создается в браузере на основе solution.html и check.js)
. └── j-task-name ├── initial │ ├── index.html │ ├── script.js │ └── style.css ├── meta.json ├── goals.html ├── solution.html ├── check.js └── theory.html
Специфичные для данного типа параметры в meta.json:
{
"type": "htmlCssJs",
"blockedCSS": false,
"blockedHTML": false,
"blockedJS": false,
"activeTab": "<CSS|HMTL|JS>"
}
В испытании и в задании доступно:
- редактор кода JS (в который помещен файл script.js из папки /initial)
. └── j-task-name ├── initial │ └── script.js ├── meta.json ├── goals.html ├── check.js └── theory.html
Специфичные для данного типа параметры в meta.json:
{
"type": "jsProgramming"
}
. └── j-task-name ├── meta.json ├── check.js └── theory.html
Специфичные для данного типа параметры в meta.json:
{
"type": "question"
}
. └── j-task-name ├── initial │ └── answers.json ├── meta.json └── theory.html
k - номер ответа (правильный ответ (число) указывается в meta.json задания)
Специфичные для данного типа параметры в meta.json:
{
"type": "radio",
"correctAnswer": 2
}
. └── j-task-name ├── initial │ └── answers.json ├── meta.json └── theory.html
answers.json
{
"1": "Первый вариант ответа",
"2": "Второй вариант ответа",
"3": "Третий вариант ответа"
}
Правильный ответ (массив чисел) указывается в meta.json задания
Специфичные для данного типа параметры в meta.json:
{
"type": "checkbox",
"correctAnswers": [1, 2]
}