Skip to content

nikolayemrikh/courses_vue

Repository files navigation

courses

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 - пользовательское название, не используется

Каждое задание может быть испытанием (поведение задания в режиме испытания задается отдельно для каждого типа задания)

Для каждого задания доступна теория (которая также служит описание задания)

Задания с HTML, CSS, JS

В испытании и в задании доступно:

  • 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

В испытании и в задании доступно:

  • редактор кода 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"
}

Задания, в которых нужно выбрать правильный ответ из списка (radio)

.
└── 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]
}

Releases

No releases published

Packages

No packages published

Languages