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