Skip to content

Shureck/pdf_pres

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PDF Presenter Mode

Статический веб-сайт для GitHub Pages: режим докладчика для PDF-презентаций, аналогичный PowerPoint.

Демо: https://shureck.github.io/pdf_pres/

Возможности

  • Загрузка PDF локально (файл не отправляется на сервер)
  • Режим докладчика на основном экране: текущий слайд, предпросмотр следующего, таймер, счётчик слайдов
  • Экран зрителей на втором мониторе: полноэкранный показ текущего слайда
  • Синхронизация окон через BroadcastChannel
  • Навигация клавишами: Space Home End

Использование

  1. Откройте сайт в Chrome или Edge (рекомендуется)
  2. Подключите второй монитор или проектор
  3. Перетащите PDF-файл или выберите через кнопку
  4. Нажмите «Начать презентацию»
  5. На основном экране откроется панель докладчика
  6. На втором экране — окно для зрителей (нажмите для полноэкранного режима)
  7. Переключайте слайды стрелками или кнопками на панели докладчика

Горячие клавиши (окно докладчика)

Клавиша Действие
/ Space / PageDown Следующий слайд
/ PageUp Предыдущий слайд
Home Первый слайд
End Последний слайд

Деплой на GitHub Pages

Сайт развёрнут на GitHub Pages из ветки main (корень репозитория).

URL: https://shureck.github.io/pdf_pres/

Для форка или своего репозитория:

  1. Загрузите файлы в репозиторий
  2. Settings → Pages → Source: ветка main, папка / (root)
  3. Сайт будет доступен по адресу https://<username>.github.io/<repo>/

Файл .nojekyll уже включён — GitHub Pages корректно отдаст все файлы.

Ограничения

  • PDF загружается только локально — данные хранятся в IndexedDB браузера
  • Заметки докладчика из PDF не поддерживаются (в отличие от PPTX)
  • Window Management API (автоматическое размещение на втором мониторе) работает в Chrome/Edge; в Firefox и Safari окно нужно перетащить вручную
  • Для открытия окна зрителей может потребоваться разрешить всплывающие окна
  • Полноэкранный режим на экране зрителей требует клика пользователя (ограничение браузера)
  • Рекомендуется использовать HTTPS (GitHub Pages предоставляет его автоматически)

Структура проекта

presenter_mode/
├── index.html          # Загрузка PDF
├── presenter.html      # Режим докладчика
├── audience.html       # Экран зрителей
├── css/styles.css
├── js/
│   ├── storage.js      # IndexedDB
│   ├── pdf-service.js  # PDF.js рендер
│   ├── sync.js         # BroadcastChannel
│   ├── timer.js        # Таймер
│   ├── screen-manager.js
│   ├── presenter.js
│   └── audience.js
└── .nojekyll

Локальный запуск

Для разработки нужен локальный HTTP-сервер (ES-модули не работают через file://):

# Python
python -m http.server 8080

# или npx
npx serve .

Откройте http://localhost:8080.

Технологии

  • Vanilla HTML / CSS / JavaScript
  • PDF.js (CDN)
  • BroadcastChannel, IndexedDB, Window Management API

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors