add update button

This commit is contained in:
2026-01-31 04:21:43 +03:00
parent 9c28cd66e3
commit 9d39a4c384
17 changed files with 2209 additions and 304 deletions

72
README.md Normal file
View File

@@ -0,0 +1,72 @@
# Izipus — менеджер шаблонов ответов
Расширение для браузеров на базе Chromium, которое собирает текстовые шаблоны в одном месте и позволяет копировать их в буфер обмена одним кликом.
## Возможности
- **Категории шаблонов** — шаблоны сгруппированы по сценариям (ответы клиентам, запросы партнёрам, коды ошибок и т.д.). Состояние разворота категорий сохраняется
- **Быстрое копирование** — один клик копирует текст в буфер. `Alt+1...0` для первых десяти шаблонов, `Alt+Shift+1...0` для английской версии
- **Поиск** — быстрый поиск по названиям и содержимому шаблонов
- **Пользовательские шаблоны** — создание, редактирование и удаление своих шаблонов. Сохраняются в `chrome.storage.sync`
- **Экспорт/импорт** — экспорт всех шаблонов в JSON, импорт через drag&drop, выбор файла или вставку текста
- **Темы** — тёмная, светлая и системная тема с переключением в один клик
- **Проверка обновлений** — кнопка в шапке запрашивает версию из репозитория (Gitea) и при наличии новой версии открывает страницу репозитория для ручной загрузки
## Обновление расширения (вручную)
Браузер **не разрешает** расширению самостоятельно скачивать и устанавливать себе новую версию с произвольного URL (Gitea, GitHub и т.п.) — это ограничение безопасности. Поэтому возможен только такой сценарий:
1. В расширении нажмите кнопку **«Проверить обновления»** (иконка обновления в шапке).
2. При первом нажатии браузер запросит доступ к репозиторию — разрешите.
3. Если доступна новая версия, откроется вкладка с репозиторием. Скачайте архив (например, **Clone****Download ZIP** или страница релизов).
4. Распакуйте архив поверх папки, в которой установлено расширение (замените файлы).
5. Откройте `chrome://extensions` и нажмите **Обновить** (или перезагрузите расширение).
**Если расширение установлено из клона репозитория (git clone):** можно обновляться скриптом в корне проекта:
- **Windows:** двойной клик по `update.bat`.
- **Linux / macOS:** в терминале выполните `chmod +x update.sh` (один раз), затем `./update.sh`.
После обновления перезагрузите расширение в `chrome://extensions`.
Версия для сравнения берётся из `manifest.json` в ветке `main` (или `master`) репозитория. Убедитесь, что в репозитории в этой ветке поле `version` в `manifest.json` обновлено.
## Установка
1. Скачайте или клонируйте репозиторий
2. Откройте `chrome://extensions` в браузере
3. Включите "Режим разработчика"
4. Нажмите "Загрузить распакованное" и укажите папку проекта
5. Иконка расширения появится на панели инструментов
## Структура проекта
```
src/
├── popup.html # HTML разметка
├── popup.js # Главный файл инициализации
├── popup.css # Стили
├── templates.json # Предустановленные шаблоны
└── js/ # Модули приложения
├── constants.js # Константы
├── storage.js # Работа с хранилищем
├── clipboard.js # Буфер обмена
├── templates.js # Валидация и работа с шаблонами
├── ui.js # Модальные окна и категории
├── hotkeys.js # Горячие клавиши
├── search.js # Поиск
├── theme.js # Управление темой
└── update-check.js # Проверка версии в репозитории (Gitea)
```
## Разработка
- **Редактирование шаблонов** — тексты в `src/templates.json`, после изменений перезагрузите расширение
- **Добавление шаблонов** — создайте элемент в `popup.html` с нужным `id` и добавьте текст в `templates.json`
- **Стили** — все стили в `src/popup.css`, используется Bootstrap для базовых компонентов
## Ограничения
- Лимит `chrome.storage.sync` — 100 КБ на расширение. При превышении экспортируйте данные
- Предустановленные шаблоны редактируются только через JSON/HTML
- Только ручная установка, публикация в магазинах не планируется
- Обновление расширения только вручную: расширение не может само скачать и установить новую версию; кнопка «Проверить обновления» лишь показывает, есть ли новая версия в репозитории, и открывает страницу для загрузки