Спойлеры и скрываемый текст в Markdown (теги details и summary)

Зачем нужны спойлеры в документации и конспектах

В объемных учебных пособиях, отчетах и лабораторных руководствах часто нужно спрятать громоздкие листинги кода, длинные дампы логов или ответы на вопросы самопроверки (подобные спойлеры также активно применяются в шаблонах GitHub README с бейджами и спойлерами), чтобы читатель не пролистывал десятки экранов скролла.

Скрытый текст details в Markdown: базовый синтаксис

Чтобы организовать скрытый текст details markdown, используется нативная пара HTML5-тегов <details> и <summary>:

Markdown / HTML
<details>
  <summary>Нажмите, чтобы увидеть подсказку к задаче №3</summary>

  Для решения используйте закон сохранения импульса в проекции на ось OX:
  $m_1 v_1 + m_2 v_2 = (m_1 + m_2) u$
</details>

Заголовок внутри <summary> остается видимым всегда и снабжается кликабельной стрелкой раскрытия, а основной контент прячется до нажатия мыши.

Спойлеры работают в превью Markdown-проекта Labkeeper. В LaTeX-проекте обёртка <details> и заголовок <summary> пропадают. Если после </summary> есть пустая строка, тело спойлера остаётся обычным текстом. Без пустой строки Pandoc выбрасывает блок целиком, поэтому важный текст в спойлер для PDF не прячьте.

Как сделать спойлер в Markdown раскрытым по умолчанию

Разбирая вопрос, как сделать спойлер в markdown сразу развернутым при загрузке документа, достаточно добавить атрибут open: <details open>. Пользователь сможет свернуть блок, если он ему мешает.

Вложенность кода, списков и формул внутри спойлера

Обязательно делайте пустую строку после закрывающего тега </summary>! Если пустой строки нет, парсер может воспринять разметку Markdown (решетки заголовков, формулы TeX или сноски в тексте Markdown) как простой текст.

Практические советы

1

Поведение при сохранении в PDF

Печать браузера выводит страницу как есть: закрытый спойлер попадет в PDF свернутым, и его содержимое пропадет. Перед печатью раскройте нужные блоки или поставьте атрибут open.

Попробуйте прямо сейчас

Оформляйте удобные методические материалы в Labkeeper

Онлайн-редактор Markdown с раскрывающимися спойлерами в превью, формулами MathJax и сохранением в PDF через печать браузера.

Другие статьи