MarkDown для презентаций
АЛЕКСЕЙ ЛОСЕВ
MarkDown для презентаций
Ранее писал про инструмент построения UML диаграмм при помощи PlantUML. Сегодня поговорим про еще один инструмент на основе плоского текст — Marp.
Люди в принципе воспринимают эстетику как индикатор понятности системы

© Алексей Каптерев

Алексей Лосев
Экс-директор по разработке
  • Кандидат физико-математических наук.
  • Microsoft MVP (Most Valuable Professional), Visual Studio and Development Technologies.
  • 18+ лет личного стажа разработчика ПО на платформе .NET.
  • 10+ лет управления командами разработки различного масштаба.
  • 8+ лет преподавания разработки ПО в МГТУ им. Баумана.
  • Выстраивание процессов разработки ПО по Agile (Scrum) и внедрение управления проектами по PMBOK.
  • Управление разработкой банковского ПО в части ITSM информационной безопасности, внутренней автоматизации. Лучшие практики ITSM (ITIL).
Тут как-то писал про инструмент построения UML диаграмм при помощи PlantUML. Сегодня поговорим про еще один инструмент на основе плоского текста — Marp. Он позволяет описывать презентации в виде текста (который будет нормально мерджится в том же Git-е) и генерировать на его основе презентацию в pptx, pdf или html.

Итак, начинаем.

Для работы с Marp я буду использовать Visual Studio Code. Устанавливаем расширение для работы с Marp:
PlantUML в Visual Studio Code. Диаграммы классов
Создаем файл с расширением md:
После этого можем включить предварительный просмотр:
PlantUML в Visual Studio Code. Диаграммы классов
В режиме разделенного редактора в правой части будет видна результирующая презентация
(напоминаю, все картинки кликабельны):
PlantUML в Visual Studio Code. Диаграммы классов
Пара замечаний:

marp: true
Используется для пометки, что мы используем marp. Если не указать эту строку или указать значение false, то модуль выключится и мы будем получать стандартное отображение для MarkDown:
PlantUML в Visual Studio Code. Диаграммы классов
--- - используется для разделения страниц. Единственно, не забываем, что перед --- надо оставлять строку. Если это не сделать, то разделитель перестает работать:
PlantUML в Visual Studio Code
Если пустые строки раздражают, можно воспользоваться другими разделителями ___ (три подчеркивания), *** (три звездочки) или — - - (те же три минуса, но через пробел).

Что еще есть полезного в Marp? Конечно же, директивы. В первом блоке, где у нас был указан marp:true, можно указывать директивы в синтаксисе имя_директивы: значение, а если нужно указать директиву на конкретной странице, то используется синтаксис html комментариев. Например:
PlantUML в Visual Studio Code. Диаграммы классов
Фон стал желтым, но на конкретном слайде он был заменен на белый, причем в этом случае у директивы использовался в начале знак подчеркивания:

_backgroundColor: white
Если знак подчеркивания убрать, вот так:

backgroundColor: white
То директива будет действовать не только на текущий слайд, но и на последующие:
PlantUML в Visual Studio Code. Диаграммы классов
Директивы делятся на глобальные и локальные. Глобальных немного, они позволяют задать тему (из набора стандартных), стиль оформления и еще один вариант разделения страницы на слайды. Я немного покажу про стили.
Стили задаются при помощи html элемента style:
PlantUML в Visual Studio Code. Диаграммы классов
Как и в обычном html, можно задавать классы и применять стиль к ним, в примере задан стиль для титульной страницы (с классом tiltslide) и для всех остальных страниц:
PlantUML в Visual Studio Code. Диаграммы классов
Ну и самое главное - экспорт. Для этого достаточно кликнуть на появившемся в редакторе ярлыке Marp и выбрать экспорт:
PlantUML в Visual Studio Code. Диаграммы классов
Получается, весьма похоже:
PlantUML в Visual Studio Code. Диаграммы классов
Кроме pptx, можно экспортировать в pdf, html и изображения (png и jpg).
Вам также может быть интересно