40 lines
2.7 KiB
Markdown
40 lines
2.7 KiB
Markdown
---
|
||
name: lampa-plugin-builder
|
||
description: Создание и доработка плагинов для приложения Lampa (JS plugin URL). Использовать, когда нужно: (1) создать новый плагин Lampa с нуля, (2) добавить/исправить хуки Lampa.Listener или расширения Lampa.* прототипов, (3) подготовить плагин к публикации по прямому URL .js, (4) проверить безопасную инициализацию (app ready + защита от двойного старта).
|
||
---
|
||
|
||
# Lampa Plugin Builder
|
||
|
||
1. Уточнить цель плагина и критерий готовности:
|
||
- что именно должен менять плагин в Lampa;
|
||
- где это должно срабатывать (карточки, меню, источники, фильтры и т.д.);
|
||
- как пользователь проверит результат.
|
||
|
||
2. Создать каркас плагина по шаблону из `references/plugin-template.js`:
|
||
- IIFE + `use strict`;
|
||
- `window.<flag>` защита от повторной инициализации;
|
||
- запуск через `window.appready` или `Lampa.Listener.follow('app', ...)`.
|
||
|
||
3. Реализовать логику через API Lampa:
|
||
- подписки на события через `Lampa.Listener.follow(...)`;
|
||
- отправка событий через `Lampa.Listener.send(...)` (если нужно);
|
||
- точечные патчи прототипов только при необходимости и с guard-проверками.
|
||
|
||
4. Добавить безопасные ограничения:
|
||
- не ломать стандартный UX;
|
||
- не вызывать бесконечные циклы/повторные хуки;
|
||
- не переопределять методы без сохранения оригинального поведения.
|
||
|
||
5. Проверить готовность плагина:
|
||
- файл один, самодостаточный `.js`;
|
||
- нет синтаксических ошибок;
|
||
- повторное подключение не дублирует эффекты;
|
||
- есть короткая инструкция установки (URL файла плагина).
|
||
|
||
6. Выдать результат в формате:
|
||
- `plugin-name.js`;
|
||
- кратко: что делает;
|
||
- как подключить в Lampa (URL плагина);
|
||
- быстрый чек-лист тестирования.
|
||
|
||
Если нужна генерация с нуля — брать шаблон `references/plugin-template.js` и адаптировать его под задачу. |