Уровень 1 0 / 100 XP
Сегодня
0 мин
0 вопросов
- точность
0 уроков

Завтра счёт начнётся заново

Новое достижение
Первые шаги

Templates vs Shortcodes

When to use Template vs Shortcode for interactive scenarios

Templates vs Shortcodes

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

Визуальный слой

Эти шорткоды атомами не считаются и в разнообразие проверяющих гейтом не засчитываются:

Shortcode Назначение Ключевые параметры
dropcap буквица на первом абзаце lines (2-4), variant (plain, accent, framed)
illustration SVG-иллюстрация с подписью src (обяз.), alt (обяз.), duration
claim метка достоверности type (fact, src, debate), source
marginalia врезка на полях kind (note, quote, date), label
compare две стороны спора title, vs; внутри ровно два side с name
chronicle хронология title; внутри event с date (обяз.) и tag
breather пауза перед важным note

Основное правило

┌─────────────────────────────────────────────────────────────┐
│              ↓                                               │
│              Вставляется ВНУТРИ страницы                     │
│              (между текстом, после объяснения)               │
│                                                              │
│  Template:   template: "scenario"                            │
│              ↓                                               │
│              ВСЯ СТРАНИЦА — это scenario                     │
│              (fullscreen, immersive)                         │
└─────────────────────────────────────────────────────────────┘

Когда использовать Shortcode?

Сценарий 1: Часть учебного материала

---
title: "HTML Forms Tutorial"
template: "single"  # Обычная страница
---
# HTML Forms

Сначала теория...

## Практика

Теперь попробуй сам:


Продолжаем изучение...

Результат: Сценарий встроен в страницу между текстом.


Сценарий 2: Несколько интерактивов на странице

# Изучаем условия

## Теория

Условные операторы позволяют...


## Практика


## Задание

Результат: Страница содержит несколько интерактивных элементов.


Когда использовать Template?

Сценарий 1: Immersive опыт

---
title: "The Great Bug Hunt"
template: "scenario"  # ВСЯ СТРАНИЦА — scenario
mode: "immersive"
---

Результат:

  • Fullscreen scenario
  • Нет обычного контента
  • Пользователь погружён в сценарий от начала до конца

Сценарий 2: Linear Story

---
title: "Journey Through the Stack"
template: "story"  # ВСЯ СТРАНИЦА — история
mode: "immersive"
---

Результат:

  • Scroll-based повествование
  • Визуальная история
  • Никаких других элементов

Сценарий 3: Practice Session

---
title: "JS Loops Practice"
template: "practice"  # ВСЯ СТРАНИЦА — практика
type: "exercise"
---

Результат:

  • Focused practice environment
  • Timer, HP, Progress
  • Нет отвлекающих элементов

Сравнительная таблица

Shortcode Template
Где Внутри контента Вся страница
Когда Часть урока Весь урок
Комбинация С текстом, quiz, etc Изолированный опыт
Fullscreen Нет Да
Immersive Опционально Обычно да
Навигация Обычная страница Специальная

Проверка понимания


Доступные Templates

single (по умолчанию)

Обычная страница с контентом.

template: "single"

Когда использовать:

  • Учебный материал с текстом
  • Комбинация текста и интерактива
  • Стандартный концепт

immersive

Полноэкранный immersive режим.

template: "immersive"
mode: "immersive"

Когда использовать:

  • Визуальные объяснения
  • Интерактивные симуляции
  • Погружающий опыт без отвлечений

Особенности:

  • Fullscreen
  • Скрыта навигация
  • Специальные controls

scenario

Branching scenario (выбор на карточках).

template: "scenario"

Когда использовать:

  • Принятие решений
  • “Choose your own adventure”
  • Branching stories

Характеристики:

  • Card-based interface
  • Выборы влияют на сюжет
  • Multiple endings

story

Linear scroll-based story.

template: "story"

Когда использовать:

  • Линейное повествование
  • Scroll-triggered анимации
  • Визуальное объяснение концепции

Характеристики:

  • Scroll-based
  • Визуальные эффекты
  • Один путь (не branching)

practice

Focused practice session.

template: "practice"
type: "exercise"

Когда использовать:

  • Тренировка навыков
  • Упражнения с механиками (timer, hp)
  • Assessment

Особенности:

  • Timer, HP, Progress
  • Focused UI
  • Результаты и feedback

Примеры использования

Пример 1: Учебный материал с embedded сценарием

---
title: "Debugging Basics"
template: "single"
type: "material"
---
# Debugging Basics

Debugging — это процесс поиска и исправления ошибок.

## Основные техники

1. Console.log()
2. Breakpoints
3. Step-through debugging

## Попробуй сам

Теперь попробуем найти баг:


## Продвинутые техники

Далее изучим...

Когда: Сценарий — это часть урока по debugging.


Пример 2: Fullscreen branching scenario

---
title: "The Great Algorithm Quest"
template: "scenario"
mode: "immersive"
type: "exercise"
---

Содержимое: Только scenario definition (через data file или inline).

Когда: Вся страница — это одна большая branching история.


Пример 3: Visual story

---
title: "How the Internet Works"
template: "story"
mode: "immersive"
---

Содержимое: Scroll-based визуальная история.

Когда: Вся страница — линейное визуальное повествование.


Пример 4: Practice session

---
title: "Array Methods Practice"
template: "practice"
type: "exercise"
---
{{< with-timer duration="15m" >}}
{{< with-hp lives="3" >}}

{{< quiz src="arrays-quiz.yaml" >}}

{{< /with-hp >}}
{{< /with-timer >}}

Когда: Вся страница — focused практика с механиками.


Комбинирование

Можно ли комбинировать?

# ❌ НЕЛЬЗЯ
template: "scenario"  # ВСЯ страница — scenario

# В контенте:

Быстрая памятка

Выбор Template

Есть только интерактив (scenario/story/practice)?
  ├─ Да → Template
  └─ Нет → single + shortcodes

Template:
  Branching? → "scenario"
  Linear visual? → "story"
  Practice? → "practice"
  Immersive? → "immersive"
  Обычный? → "single"

Выбор Shortcode

Интерактив — ЧАСТЬ страницы?
  ├─ Да → Shortcode
  └─ Нет → Template

Shortcode:
  Branching? → {{< scenario >}}
  Quiz? → {{< quiz >}}
  Cards? → {{< flashcard >}}
  Fill blanks? → {{< fill-blank >}}

Проверка понимания


Следующие шаги