← Назад в журнал

Marp: инструмент для презентаций на Markdown (и как экспортировать в PowerPoint)

Marp — это открытая экосистема презентаций на Markdown: пишите слайды в Markdown, а затем экспортируйте их в HTML, PDF или PowerPoint с помощью Marp CLI. В этом руководстве рассматриваются темы Marp, создание слайдов в Markdown, экспорт в pptx (в виде изображений) через marp-cli, сравнение с reveal.js и Slidev, а также то, где уместен Agent-Native Design Workspace.

Marp: инструмент для презентаций на Markdown (и как экспортировать в PowerPoint)

Если вы искали «marp» в надежде на стоматологический или ортодонтический термин, то это другое: Marp — это Markdown Presentation Ecosystem, открытый (MIT) проект команды marp-team на GitHub для создания слайд-презентаций путём написания обычного Markdown. Никакого перетаскивания блоков по холсту, никакого проприетарного формата файлов. Вы пишете # Slide title и несколько пунктов, добавляете одну-две директивы, и Marp превращает это в презентацию. (Не связанный с этим «MARPE», который вам мог попадаться, — это процедура расширения верхней челюсти в ортодонтии, к слайдам она не имеет отношения. Эта статья исключительно о Marp, инструменте для презентаций.)

Среди открытых инструментов для презентаций Marp — самый простой и максимально «родной» для Markdown вариант, и именно поэтому разработчики к нему тянутся. Это честное руководство о том, что такое Marp, как работают написание и темы, как Marp CLI экспортирует в PowerPoint и PDF (и об одной оговорке, которая застаёт людей врасплох), как он держится против reveal.js и Slidev, и где подхватывает дизайн-воркспейс, когда Markdown упирается в потолок.

Что такое Marp

Marp — это небольшая экосистема инструментов вокруг одной идеи: слайды как Markdown. У неё три подвижные части. Marpit — низкоуровневый фреймворк, который превращает Markdown вместе с темой в HTML и CSS слайдов. Marp Core — готовый к работе движок поверх Marpit, с темой по умолчанию, обработкой изображений и поддержкой формул. Marp CLI (marp-team/marp-cli) — инструмент командной строки, который рендерит ваш Markdown-файл в HTML, PDF или PowerPoint. Есть и официальное расширение для VS Code, дающее живой предпросмотр бок о бок прямо во время набора.

Вы пишете в одном файле .md. Слайды разделяются ---, настройки для отдельных слайдов и глобальные задаются через директивы Marp (например, theme:, paginate: или class:), и всё остаётся простым текстом под контролем версий. В этом вся привлекательность: ваша презентация чисто различается в Git, лежит рядом с кодом и никогда не запирает вас в бинарный формат.

Темы Marp и написание в Markdown

Написание презентации Marp намеренно минималистично. Блок front-matter в начале файла задаёт глобальные директивы, --- разбивает слайды, а стандартный Markdown — заголовки, списки, блоки кода, изображения, таблицы — становится вашим контентом. Поскольку Marp под капотом рендерит в HTML и CSS, всё, что выражает Markdown, отображается на слайд без дополнительного синтаксиса, который нужно учить.

Темы Marp — это просто CSS. Marp Core поставляется с несколькими встроенными темами (default, gaia, uncover), и переключаетесь между ними вы одной директивой theme:. Когда встроенных не хватает, вы пишете собственную тему как CSS-файл — нацеливаетесь на классы, которые предоставляет Marpit, регистрируете её в CLI через --theme или --theme-set, и каждый слайд её подхватывает. Для точечных правок вы можете вставить в отдельный слайд блок <style> с ограниченной областью действия. Эта CSS-нативная модель — одновременно потолок и пол Marp: если вы уверенно владеете CSS, у вас полный контроль, а если нет — стандартные настройки всё равно выглядят опрятно.

Экспорт Marp в PowerPoint и PDF

Именно на экспорте Marp CLI отрабатывает своё место. Укажите ей на ваш Markdown и выберите цель:

  • HTMLmarp deck.md -o deck.html создаёт самодостаточную веб-презентацию, которую вы показываете в браузере.
  • PDFmarp deck.md --pdf рендерит готовый к печати PDF, идеальный для раздаточных материалов и обмена.
  • PowerPointmarp deck.md --pptx экспортирует файл .pptx, который можно открыть в PowerPoint или Keynote.

Одна оговорка, о которой стоит сказать прямо: экспорт Marp в PPTX рендерит каждый слайд как изображение, а не как нативные, редактируемые фигуры PowerPoint. Каждый слайд становится полноформатной картинкой внутри оболочки .pptx. Это идеально, когда нужно передать файл тому, кто живёт в PowerPoint и должен лишь показать его, — но после экспорта вы не сможете щёлкнуть и отредактировать текстовое поле, перекрасить фигуру или подвинуть пункт. Если вашему процессу нужно продолжать редактирование в PowerPoint потом, относитесь к pptx от Marp как к формату доставки, а не исходному формату. (Экспериментальные «редактируемые» режимы экспорта появлялись и исчезали; надёжное, задокументированное поведение — одно изображение на слайд.)

Marp против Slidev против reveal.js

Marp — не единственный инструмент для презентаций с приоритетом Markdown. Вот честное сравнение по осям, которые решают ваш выбор:

ИнструментНаписаниеРедактируемый экспорт PPTXШаблонизацияЛицензия
MarpЧистый Markdown + директивыpptx как изображения (не редактируемые фигуры)CSS-темыMIT
reveal.jsHTML (плагин Markdown опционально)Нет нативного pptxHTML/CSS-темыMIT
SlidevMarkdown + компоненты VueНет нативного pptx (PDF/PNG/SPA)Темы Vue + Windi/UnoCSSMIT
Open DesignОпишите это своему агентуРедактируемая презентация на основе дизайн-системыДизайн-система + библиотека шаблоновApache-2.0

Marp — выбор, когда вам нужно меньше всего церемоний: один Markdown-файл и CLI. reveal.js — зрелый фреймворк веб-слайдов: HTML-first, бесконечно настраиваемый и с самым насыщенным опытом в браузере, но вы пишете HTML, и нативного пути в PowerPoint нет. Slidev находится посередине — для разработчиков, которым нужен Markdown плюс настоящие компоненты Vue, подсветка кода и интерактивные вставки: мощнее Marp, но и настройки больше. Все три под лицензией MIT и не экспортируют ничего напрямую редактируемого в PowerPoint.

Где уместен Open Design

Marp превосходно делает ровно одну вещь: берёт уже написанный вами Markdown и превращает в слайды. Но он требует, чтобы презентацию писали вы — структуру, формулировки, CSS темы. Он не генерирует контент, не удерживает его в рамках бренда между проектами и не даёт редактируемый артефакт после экспорта.

Open Design — это слой над ним. Это открытый (Apache-2.0), local-first, работающий с вашими собственными ключами Agent-Native Design Workspace, который находится вне того агента для кода, что вы уже используете. Вместо того чтобы писать Markdown вручную, вы описываете нужную презентацию, и агент генерирует редактируемую на основе дизайн-системы — с фирменными HTML-шаблонами презентаций в его библиотеке плагинов как отправной точкой. Это не замена Marp, где вы пишете Markdown: когда контент уже есть в Markdown и нужна быстрая презентация из командной строки, Marp — правильный инструмент. Когда вы хотите, чтобы презентация была сгенерирована, соответствовала бренду и оставалась редактируемой как часть более крупного дизайн-процесса, — это задача воркспейса. Если вы уже делаете слайды с агентом для кода, посмотрите, как агент для кода создаёт слайд-презентации.

Часто задаваемые вопросы

Что такое Marp? Marp — это открытая Markdown Presentation Ecosystem от команды marp-team на GitHub. Вы пишете слайды в Markdown, а Marp CLI экспортирует их в HTML, PDF или PowerPoint. Он под лицензией MIT и включает Marp Core, фреймворк Marpit и расширение для VS Code. К ортодонтическому термину «MARPE» он отношения не имеет.

Как экспортировать презентацию Marp в PowerPoint? Установите Marp CLI (marp-cli) и выполните marp deck.md --pptx. Учтите, что экспортированный .pptx рендерит каждый слайд как изображение, а не как нативные редактируемые фигуры PowerPoint — отлично для передачи, но потом вы не сможете редактировать текст или фигуры внутри PowerPoint.

Может ли Marp экспортировать редактируемые файлы PowerPoint? Надёжно — нет. Задокументированное поведение Marp для PPTX — одно изображение на слайд. Если вам нужен нативно редактируемый .pptx с настоящими текстовыми полями и фигурами, для этого шага Marp — неподходящий инструмент.

Marp бесплатен? Да. Marp — это открытый исходный код под лицензией MIT, поэтому им можно свободно пользоваться, размещать у себя и изменять.

Marp против reveal.js против Slidev — что выбрать? Выбирайте Marp для самых простых презентаций на чистом Markdown и лёгкого экспорта в PDF/pptx, reveal.js — для зрелого HTML-first фреймворка веб-слайдов с глубокой настройкой, а Slidev — для Markdown вместе с интерактивными компонентами Vue. Все три под лицензией MIT; ни один не экспортирует напрямую редактируемый PowerPoint.

Вывод

Marp — это самый чистый способ превратить уже имеющийся у вас Markdown в слайды: один файл .md, CSS-темы и CLI, который экспортирует в HTML, PDF и PowerPoint. Просто помните одно честное ограничение: pptx выходит в виде изображений, поэтому относитесь к нему как к формату доставки, а не к тому, что вы будете дальше редактировать в PowerPoint. Если ваша потребность — «у меня есть Markdown, дайте презентацию», Marp трудно превзойти. А когда презентацию нужно сгенерировать, удержать в рамках бренда и оставить редактируемой внутри более крупного дизайн-процесса, — вот тут подхватывает Agent-Native Design Workspace.


← Назад в журнал GitHub · Источник ↗