Перейти к содержимому

Совместимость с Marp

Markdown, который читает slides, — это Markdown Marpit и Marp Core, а не его диалект.

Презентация, написанная для Marp, — это презентация go-slides. Приведённые ниже правила — правила Marpit и Marp Core; там, где go-slides отличается, это сказано на этой странице.

Слайды

Горизонтальная черта — --- на отдельной строке, как разделяет Marpit, — начинает новый слайд, как и заголовок того уровня, который называет директива headingDivider. Front matter между первыми двумя --- содержит глобальные директивы и данные презентации.

Директивы

ВидГдеДействует на
глобальнаяfront matter или <!-- theme: gaia --> в любом местевсю презентацию: theme, style, headingDivider, lang…
локальная<!-- paginate: true -->этот слайд и следующие за ним
точечная<!-- _class: lead --> (подчёркивание)только этот слайд

Локальные директивы — директивы Marpit: paginate, header, footer, class, backgroundColor, backgroundImage, backgroundPosition, backgroundRepeat, backgroundSize, color. Директивы разбираются как «свободный» YAML, как это делает Marp Core; --strict-yaml разбирает их так, как это делает чистый Marpit.

Изображения

![bg](image.jpg) делает изображение фоном слайда с ключевыми словами Marp: bg contain, bg cover, bg 50%, bg left/bg right для разделённого фона, несколько изображений bg рядом и фильтры изображений (blur, sepia, grayscale…). Размеры встроенных изображений (w:200px, h:) читаются так же, как их читает Marp.

Вокруг слайда

  • Верхний и нижний колонтитулы: директивы header: и footer:, в Markdown.
  • Нумерация: paginate: true.
  • Заметки докладчика: HTML-комментарий, не являющийся директивой, — это заметка. slides notes их выводит.
  • Списки с постепенным появлением: список, написанный через * (или 1)), появляется по пунктам, как в Marp.
  • <style scoped>: CSS только для одного слайда.
  • Сырой HTML: по умолчанию разрешённый список Marp Core; --html разрешает его целиком.
  • Эмодзи: :shortcodes: и эмодзи Unicode становятся изображениями Twemoji, как в Marp Core, но встроенными, а не загружаемыми с CDN: см. Эмодзи.

Темы

default, gaia и uncover встроены, выбираются через theme:. Собственная тема — это файл CSS с комментарием Marp /* @theme name */, передаваемый через --theme-set или перечисленный в themes: в slides.yaml.

Чем go-slides отличается

  • Шаблоны. {{ }} в теле — это действие шаблона Go (см. Шаблоны). Презентации, которая показывает {{ как текст вне блока кода, нужен --no-template либо текст, экранированный так, как шаблоны Go экранируют. Блоки кода и фрагменты кода остаются нетронутыми.
  • Kinds (типы слайдов). kind: и _kind: — директивы, которых в Marp нет (см. Kinds). slides expand заменяет их директивами, которые они обозначают, так что развёрнутая презентация — это обычный Marp.
  • Форматы вывода. HTML, PNG, JPEG, PDF, PPTX и ODP — через библиотеки Go, а не через headless-браузер (известное ограничение см. в разделе Командная строка). В v0.4.0, как и в marp-cli, PPTX содержал картинки; начиная с v0.5.0 его слайды — редактируемые текстовые блоки и фигуры, а --pptx-raster сохраняет картинки.
  • Заголовки по ширине. # <!-- fit --> Title поддерживается: заголовок занимает всю ширину слайда в одну строку — на странице и в каждом экспорте.
  • Математика и код. $…$ и $$…$$ следуют правилам разделителей Marp Core и набираются go-tex/math; блоки кода подсвечивает go-rouge с именами классов highlight.js (см. Математика и код).

Created on by tannevaled

Modified on by tannevaled