SlideDown
Viniciuscarvalho/slidedownSlideDown конвертирует .md файлы в профессиональные .pptx презентации с 16 темами оформления. Поддерживает Keynote, PowerPoint и Google Slides. Идеален для разработчиков, которым нужны качественные слайды без ручной вёрстки.
Установка
npm install -g pptxgenjsREADME
Зачем SlideDown?
Большинство инструментов для презентаций заставляют выбирать: удобство для разработчика (Marp, Slidev) или качество дизайна (Canva, Gamma). SlideDown закрывает этот разрыв.
- Markdown-нативный — пишите контент, а не воюйте с интерфейсом
- 16 профессиональных тем — продуманный дизайн, не дефолтный
- Одна команда — никаких конфигов и шагов сборки
- Совместим с Keynote —
.pptxоткрывается нативно на Mac - Git-friendly — ваши слайды — это просто
.md-файлы - Умные макеты — автоматически определяет заголовки, цитаты, таблицы, блоки кода
Быстрый старт
Установка
npm install -g pptxgenjs
Конвертация
node scripts/md2pptx.js your-talk.md your-talk.pptx midnight
Открытие
Дважды кликните по файлу .pptx. Он откроется в:
- Apple Keynote (Mac/iPad)
- Microsoft PowerPoint (Windows/Mac/Web)
- Google Slides (импорт)
- LibreOffice Impress (Linux)
Темы
16 профессионально разработанных тем + поддержка пользовательских тем:
Тёмные темы
| Тема | Настроение | Лучше всего для |
|---|---|---|
| midnight | Тёмно-синий + индиго | Технические доклады, запуск продуктов |
| aurora | Градиент фиолетовый-бирюзовый | Конференции, творческие доклады |
| sunset | Тёплый оранжево-янтарный | Стартапы, питч-деки |
| forest | Глубокие зелёные тона | Финансы, устойчивое развитие |
| noir | Чёрный + белый | Кинематографичный, премиальный |
| neon | Тёмный + неоновый циан | Футуристичный, технодемо |
| ocean | Глубокий синий → бирюзовый | Морская тематика, доверие |
| cherry | Глубокий вишнёвый | Смелый, уверенный |
Светлые темы
| Тема | Настроение | Лучше всего для |
|---|---|---|
| minimal | Чистый молочно-белый | Академические, корпоративные |
| brutalist | Жёлтый + чёрный | Манифесты, смелые заявления |
| corporate | Тёмно-синий на белом | Профессиональный, корпоративный |
| rose | Мягкий розовый | Современный, элегантный |
| terracotta | Тёплые земляные тона | Органичный, ручная работа |
| lavender | Мягкие фиолетовые тона | Спокойный, творческий |
| paper | Тёплый пергамент | Классический, литературный |
| sage | Приглушённый зелёный | Спокойный, сбалансированный |
Пользовательские темы
Используйте собственный брендинг! Два способа:
Вариант A: Создать JSON темы вручную
{
"name": "My Brand",
"bg": "FFFFFF",
"text": "2D3748",
"heading": "1A202C",
"accent": "E53E3E",
"headingFont": "Arial Black",
"bodyFont": "Arial"
}node scripts/md2pptx.js talk.md talk.pptx --theme-file brand.json
Вариант B: Извлечь тему из существующего PPTX
Уже есть корпоративный шаблон? Автоматически извлеките его цвета и шрифты:
# Извлечь тему из любого .pptx файла
node scripts/extract-theme.js company-template.pptx -o brand.json -n "Acme Corp"
# Использовать с SlideDown
node scripts/md2pptx.js talk.md talk.pptx --theme-file brand.jsonИнструмент извлечения читает цветовую схему PPTX (dk1, lt1, accent1-6), пары шрифтов и фон — и генерирует полноценную тему SlideDown.
См. examples/custom-theme.json для описания полного формата.
Синтаксис Markdown
SlideDown использует стандартный Markdown с несколькими соглашениями:
# Заголовок презентации
## Необязательный подзаголовок
---
## Заголовок слайда
Обычный текст абзаца с **жирным** и *курсивом*.
- Первый пункт
- Второй пункт
- Третий пункт
---
## Слайд с цитатой
> Это выделенная цитата, которая визуально выделяется.
---
## Таблица данных
| Метрика | Q1 | Q2 | Q3 |
|---------|-----|-----|-----|
| Выручка | $2M | $3M | $4.5M |
| Пользователи | 10K | 25K | 50K |
---
## Пример кода
```python
def hello():
print("Hello, SlideDown!")
```
<!-- notes: Это заметки докладчика, невидимые на слайде -->Справочник по синтаксису
| Markdown | Поведение на слайде |
|---|---|
# Title | Титульный/hero-слайд (по центру, крупно) |
--- | Разделитель слайдов |
## Heading | Заголовок слайда |
> Quote | Выделенная цитата с акцентной рамкой |
- Item | Стилизованный маркированный список |
| Table | | Автоматически стилизованная таблица |
```lang ``` | Блок кода с тёмным фоном |
 | Встроенное изображение |
<!-- notes: --> | Заметки докладчика |
**bold** | Жирное выделение |
*italic* | Курсивный текст |
Примеры
Типы слайдов
Конвертер автоматически определяет тип контента и применяет подходящий макет: