Технические презентации отличаются частыми переключениями между слайдами, терминалом и интегрированной средой разработки. Например, при объяснении развертывания Kubernetes начинаешь со слайдов архитектуры, для демонстрации команд kubectl
переключаешься на терминал, для объяснения YAML переходишь к VS Code, затем для объяснения следующей темы возвращаешься к слайдам. В итоге постоянным переключением контекста убивается демонстрационный процесс, теряется время.
Эта проблема решается терминальными презентациями: здесь все делается в одном месте:
- Запускается интерактивный демокод.
- Показываются выводы команд.
- Отображается ASCII-графика.
- Все хранится в терминале.
Предварительные условия и настройка
Для создания терминальных презентаций понадобится:
- Слайды — интерфейс командной строки презентации, которым в терминале отображается разметка.
- Средство запуска команд, которым организуются задачи презентации.
- Инструмент командной строки для GitHub.
- Готовый шаблон для начала работы, используя который вы быстро создадите собственный репозиторий с технической презентацией.
Быстрый запуск
Клонируем шаблон и создаем репозиторий презентации:
gh repo create --template piotr1215/terminal-slides-template --private your-slides-repo --clone
Делаем файлы презентации исполняемыми:
chmod +x slides.md justfile
Дополнительные графические инструменты
Для ASCII-графики устанавливаем также:
- PlantUML для диаграмм последовательностей;
- Graph::Easy для диаграмм компонентов.
Первая презентация
Разберемся с самими терминальными презентациями. Каждая состоит из двух основных частей:
Титульные элементы YAML
С них начинается каждая презентация:
---
theme: theme.json
author: Your Name
date: MMMM dd, YYYY
paging: Slide %d / %d
---
Файлом
theme.json
управляется стилевое оформление презентации — аналогично CSS для веб-страниц.
Слайды с содержимым
Оптимальные технические презентации не «рассказывают», а «показывают». Интерактивные демо эффектнее тысячи слайдов Powerpoint.
Слайды пишутся на языке разметки, разделяются тройным тире:
# Первый слайд
Some content
---
# Второй слайд
More content
Наведем внешний лоск
Элементы ниже необязательны, но с ними презентации привлекательнее и интереснее для аудитории.
Интерактивные команды
Код и терминальные команды выполняются на слайдах, и выходные данные видны сразу.
## Выполняем код на слайдах
> Чтобы выполнился приведенный ниже блок кода, жмем «Ctrl + e»
```bash
ls -lah --color=always
```
---

Графические заголовки в ASCII и стилизованные вступления
Инструментами Figlet и Toilet обычный текст превращается в привлекательную ASCII-графику. Дополняем эффектами рамок и фигур из утилиты Boxes:
```bash
~~~только вступление «Title with Figlet»
Так отобразится название презентации.
~~~
```
---
```bash
~~~«Alternative Title with Toilet» только с «intro_toilet»
Так отобразится название презентации.
~~~
```
---


ASCII-графика
Инструментами PlantUML и graph-easy добавляем в презентации диаграммы и нагляднее объясняем важные концепции.

~~~https-рукопожатие только диграфом
Здесь отображается графическое представление HTTPS-рукопожатия.
~~~

Пользовательская тема
JSON-файлом темы настраивается вид презентации в целом:
- Цвета, шрифты и внешние отступы для соответствия фирменному оформлению или личным предпочтениям.
- Примеры тем — в репозитории.
Так, этот фрагмент:
- Zsh Line Editor: *`man zshzle`*
- Moreutils (sponge): *”The Power of Moreutils: 8 Advanced Linux Command Line Tools”*
- Pattern Matching: *`man zshexpn`*
- Widget System: *`man zshcontrib`*
отобразится в виде:

Благодаря этим настройкам в theme.json
:
"emph": {
"color": "#f1fa8c",
"bold": true,
"italic": false,
"prefix": " <----- ",
"suffix": " "
},
Заключение
Технические презентации в основном посвящены запуску выполнения кода, команд или демонстрации того, как реализуется задача.
Хотя на освоение терминальных презентаций требуется немного времени, преимущества с точки зрения качества презентации и удобства для ее составителя существенны. Особенно оценит возможность увидеть реальное применение концепций техническая аудитория.
Помните, что цель — эффективно донести свои идеи, продемонстрировать опыт и знания. Терминальные презентации являются мощным инструментом ее достижения, особенно в технических темах, где важна практическая сторона презентации.
Читайте также:
- 5 команд Linux, которые облегчают жизнь программистам
- Полезные рабочие плагины TMUX
- 10 лучших легких дистрибутивов Linux для старых компьютеров
Читайте нас в Telegram, VK и Дзен
Перевод статьи Piotr: Terminal-Based Presentations