Gabryelf / Gabryelf/Presentation-Foundation

Presentation-Foundation v0.0.2

Open
#2 0 comments 0 reactions 1 assignee Claimed by @Gabryelf View on GitHub
documentation
Dominant language
JavaScript
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

# Presentation-Foundation v0.0.2

## Что это

Полноценный конструктор презентаций. Загружаешь текстовый файл, выбираешь шаблон, получаешь презентацию со слайдами, навигацией и возможностью редактирования. Всё работает в браузере, без интернета и бэкенда.

## Как запустить
зайди по ссылке в `about` или скачай файлы и в `cmd` зайдя в папку с проектом напиши команду `npx serv`.

## Что умеет

### Загрузка данных
- Поддерживает `.txt`, `.md`, `.json`
- Перетаскивание файлов (drag & drop)
- Автоматический парсинг в структуру слайдов

### Генерация презентаций
- Три шаблона: Современный, Креативный, Корпоративный
- Автоматическое определение типа слайда (текст / список)
- Умное извлечение заголовков

### Просмотр
- Полноэкранный режим презентации
- Навигация стрелками, пробелом, кликами по кнопкам
- Индикаторы прогресса (точки внизу)
- Показ номера текущего слайда

### Редактирование
- Двойной клик по слайду открывает редактор
- Изменение текста в режиме реального времени
- Сохранение и отмена изменений

### Экспорт
- Скачивание презентации в виде отдельного HTML-файла
- Автономный файл со стилями и контентом
- Сохраняется вся структура слайдов

### Сохранение
- Автоматическое сохранение в localStorage
- Восстановление после перезагрузки страницы
- Запоминается текущий слайд

### Удобство
- Умные уведомления о действиях
- Подсветка выбранного шаблона
- Адаптивный дизайн под мобильные устройства
- Тёмная тема

## Архитектура

### Ядро (core/)
- **App** — главный класс-синглтон, управляет всем приложением
- **Component** — абстрактный базовый класс для всех UI-компонентов
- **StateManager** — хранилище состояния с паттерном Observer
- **PresentationGenerator** — генерация слайдов из данных
- **SlideRenderer** — рендеринг и редактирование слайдов

### UI (ui/)
- **Header, Footer** — статические части
- **Templates** — отображение и выбор шаблонов

### Хранилище (storage/)
- **StorageManager** — работа с localStorage
- Сохранение настроек, последней презентации, позиции

### Утилиты (utils/)
- **ExportHelper** — экспорт презентации в HTML

## Как пользоваться

1. **Загрузи файл** — кликни по области или перетащи файл
2. **Выбери шаблон** — кликни на один из трёх вариантов
3. **Сгенерируй** — нажми зелёную кнопку
4. **Смотри презентацию** — листай стрелками или кликай
5. **Редактируй** — двойной клик на любой слайд
6. **Скачай** — кнопка "Скачать" в режиме презентации

## Управление в режиме презентации

| Действие | Клавиша/Элемент |
|----------|-----------------|
| Следующий слайд | `→`, `↓`, пробел |
| Предыдущий слайд | `←`, `↑` |
| Выход | `ESC` или кнопка "Назад" |
| Переход к слайду | Клик по точке внизу |
| Редактирование | Двойной клик на слайде |

## Пример данных для загрузки

Создай `.txt` файл с таким содержимым:

```
Название презентации
Текст первого слайда
Текст второго слайда
- Первый пункт списка
- Второй пункт списка
- Третий пункт списка
Заключительный слайд
```

Первая строка становится заголовком, остальные — слайдами. Строки с `-` автоматически превращаются в списки.

## Чего пока нет

- Экспорта в PDF и PPTX (пока только HTML)
- Загрузки и вставки изображений
- Сложных макетов слайдов
- Онлайн-шаблонов с сервера
- Совместной работы

## Бонусы

- Навигация работает с клавиатуры для удобства презентаций
- Все данные сохраняются — можно закрыть страницу и вернуться
- Экспортированный HTML открывается без интернета
- Код чистый, на классах, с понятной архитектурой

---

**Версия**: 0.0.2

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.