# 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 - Только ручная установка, публикация в магазинах не планируется - Обновление расширения только вручную: расширение не может само скачать и установить новую версию; кнопка «Проверить обновления» лишь показывает, есть ли новая версия в репозитории, и открывает страницу для загрузки