42 lines
3.9 KiB
Markdown
42 lines
3.9 KiB
Markdown
# Режим правок контента (localhost)
|
||
|
||
Инструмент для сбора **инструкций агенту** прямо на странице при локальном просмотре. HTML на диске не меняется до apply в `src`.
|
||
|
||
## Запуск
|
||
|
||
```bash
|
||
npm run serve
|
||
```
|
||
|
||
Открыть страницу на [http://localhost:4175](http://localhost:4175). Работает только на `localhost` / `127.0.0.1`.
|
||
|
||
Сервер: [`scripts/serve-dev.mjs`](../scripts/serve-dev.mjs) — BrowserSync по `public/`, API правок, **без** перезагрузки при записи в `texts/content-edits/`.
|
||
|
||
Старый однострочный BrowserSync: `npm run serve:static`.
|
||
|
||
## Как пользоваться
|
||
|
||
1. **FAB (карандаш)** — включить режим правок. Если в очереди есть правки, на кнопке виден **бейдж** с их числом (режим выключен).
|
||
2. В режиме правок слева внизу открывается **парящая панель**: слева список, справа поле «Инструкция агенту». Без выбора блока можно сразу писать **общую правку страницы**.
|
||
3. **Наведение** на объект в `main` — пунктирный контур; **клик** — правка конкретного блока. **Shift+клик** — вставить ссылку `«…»` на блок в текст (работает и для общей правки страницы).
|
||
4. Текст сохраняется **автоматически** (debounce ~400 ms) в [`texts/content-edits/pending.json`](../texts/content-edits/pending.json). Пустое поле — запись удаляется.
|
||
5. Клик по пункту в списке слева — скролл к объекту (если блок ещё на странице) и редактирование. Если блок уже удалён или селектор не находится — скролла нет, инструкция всё равно открывается. **Удалить** — убрать правку из очереди.
|
||
6. **Escape** или клик мимо блока — снять контур блока, вернуться к общей правке страницы. Повторный клик FAB — выключить режим.
|
||
7. В Cursor: **`/apply-edits`** (или **`/apply_edits`**, если остался старый алиас) или **«примени правки»** — агент читает `pending.json`, правит `src/pages/`, `humanizer-ru`, `npm run build:pages`. Очередь **не очищается** — проверяешь результат, при необходимости правишь задание и apply снова; готовые пункты удаляешь сам в dock.
|
||
|
||
Черновики (клик без текста) видны в списке по сниппету блока; в JSON попадают только пункты с непустой инструкцией.
|
||
|
||
## Формат JSON
|
||
|
||
См. [`texts/content-edits/README.md`](../texts/content-edits/README.md).
|
||
|
||
## Apply для агента
|
||
|
||
Правило: [`.cursor/rules/content-edit-apply.mdc`](../.cursor/rules/content-edit-apply.mdc).
|
||
|
||
Порядок поиска блока в `src`: `target.selector` → подстрока `target.content` / `snippet` → зона `anchorId`. Дополнительные блоки из instruction — в `item.refs[]` (метки `«…»` ↔ `refs[].label`).
|
||
|
||
## Legacy
|
||
|
||
Ручная правка собранного HTML в `public/` — только по явной просьбе, см. `.cursor/rules/case-content-edit-in-public.mdc`. Не путать с content-edits.
|