Произведите впечатление на свою аудиторию слайдами, работающими на терминале!

Зачем довольствоваться обычными слайдами презентации в Microsoft PowerPoint, Markdown или HTML, когда вы можете создавать исполняемые слайды с помощью реального кода? Запуск слайдов в виде простой исполняемой программы может произвести впечатление на аудиторию и продемонстрировать ваши навыки разработчика программного обеспечения. Вы даже можете запускать свои слайды на одноплатном компьютере, таком как Raspberry Pi или BeagleBone, через безопасную оболочку (SSH).

Мотивация

Как разработчик C++, меня вдохновил видеоролик Ваша новая ментальная модель constexpr — Джейсон Тернер — CppCon 2021 и я захотел создать слайды для консольных презентаций. Запустив слайды на терминале, демонстрацию можно провести на любом устройстве, поддерживающем терминал.

Подход

В то время как многие из нас пытались напечатать Hello World простыми программами на базе терминала, в основном используя printf или cout для программистов на C/C++, хотя есть и другой специальный метод (о котором я рассказал в своем самом первом посте), мы можем использовать библиотеки и фреймворки для организации нашего кода для расширения. Как программисту на C++, первое, что пришло мне в голову, это библиотека FTXUI, которая действует как функциональный пользовательский интерфейс терминала. Не долго думая, я попытался реализовать идею, и это сработало!

Вот как это выглядит:

В этой статье я пропущу часть по настройке проекта и FTXUI. Давайте посмотрим на основной код!

Для params.hpp это просто заголовок для некоторых параметров. Например, он состоит из нескольких строк кода:

Полный стартовый код доступен в репозитории console-presentation-starter.

Хотя репозиторий предназначен для быстрого старта, его можно расширить, добавив больше слайдов, как только мы поймем компоненты дизайна.

Компоненты примера дизайна

Главный компонент

Основной компонент является ядром каждого слайда. Чтобы расширить его, мы можем переключать контент на основе ввода с клавиатуры, например левой и правой клавиш. Для каждого основного компонента мы можем дополнительно разделить его на подкомпоненты, которые выбираются на основе тех же входных данных, чтобы иметь тот же эффект, что и в презентации PowerPoint.

Нижний колонтитул

Нижний колонтитул состоит из компонентов slide_pages и copyright. Страницы со слайдами показывают текущий номер слайда на всех страницах, а авторские права — это просто уведомление об авторских правах. Когда у нас будет больше контента для основных компонентов, номер слайда может быть обновлен на основе текущего визуализированного слайда.

Дополнительный бонус за попытку

Для некоторых из вас, кто может быть разработчиком, вы можете легко получить представление о слайдах, используя следующую команду:

sudo docker run -it pllee4/console-presentation:latest

без необходимости создавать их с нуля.

Простая расширенная версия примера дизайна выглядит так:

Ограничения

Хотя создание исполняемых слайдов презентации — это круто, следует помнить о некоторых ограничениях, таких как:

  • Нелегко обрабатывать изображения и воспроизводить видео.
  • Код может быть длинным по сравнению с простым текстом в Markdown или такими инструментами, как Microsoft PowerPoint.
  • Разработка может занять много времени.
  • Это требует тщательного рассмотрения для совместимости с различными устройствами.

Заключение

В этой статье мы обсудили несколько аспектов создания слайдов презентации консоли, включая следующие:

  • Мотивация
  • Подход
  • Компоненты примера дизайна
  • Дополнительный бонус за попытку
  • Ограничения

Несмотря на ограничения этого подхода, слайды презентации на консоли могут предложить уникальный и привлекательный способ представления идей.

Спасибо, что дочитали до конца!