Исправлена сборка плагина и удалён нерабочий код

- Исправлен маппинг статусов Logseq → PPDB (теперь отправляет TODO/DOING/DONE вместо new/in_progress/completed)
- Удалён нерабочий код setupConfig (использовал несуществующий API)
- Исправлена сборка: теперь создаётся index.html + assets/ вместо одного index.js
- Исправлено чтение свойств блоков (проверка source-id/sourceId/source_id)
- Добавлен скрипт deploy.sh для деплоя в ~/.logseq/plugins/
This commit is contained in:
2026-01-16 00:27:24 +03:00
parent 1b9da0ded4
commit d59ad3c677
9 changed files with 1176 additions and 309 deletions

47
CLAUDE.md Normal file
View File

@@ -0,0 +1,47 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Описание проекта
TODO Everywhere — Logseq плагин для синхронизации задач из внешних источников (PPDB, Gitea) в Logseq.
## Команды сборки
```bash
npm install # Установка зависимостей
npm run build # Сборка для продакшена (dist/index.js)
npm run dev # Режим разработки с автопересборкой
```
## Архитектура
Плагин состоит из одного файла `src/index.ts`, который:
1. **Настройка config.edn** (`setupConfig`) — при первой установке автоматически добавляет Datalog-запросы для PPDB и Gitea в конфиг Logseq
2. **Синхронизация PPDB** (`syncPPDBTasks`) — получает задачи через `/api/logseq/tasks` и создаёт страницу `PPDB - TODO`
3. **Синхронизация Gitea** (`syncGiteaTasks`) — получает issues через Gitea API и создаёт страницы `Gitea - {name} - TODO`
4. **Запись в страницу** (`writeToPage`) — конвертирует данные в формат Logseq блоков с TODO/DOING/DONE статусами
### Ключевые интерфейсы
- `PPDBTask` — структура задачи из PPDB API (включает `logseq_priority` и `logseq_status`)
- `GiteaIssue` — структура issue из Gitea API
- `GiteaSource` — настройки подключения к Gitea репозиторию
### Конвертация данных
- Приоритеты: critical/high → [#A], normal → [#B], low → [#C]
- Статусы: new → TODO, in_progress → DOING, completed/rejected → DONE
- Gitea labels определяют приоритет и тип (bug/feature)
## Настройки плагина
Настройки хранятся через `logseq.settings` и включают:
- `ppdbUrl`, `ppdbApiKey` — подключение к PPDB
- `giteaSources` — JSON массив Gitea репозиториев
- `configVersion` — версия конфига для отслеживания миграций
## Связанный API
PPDB endpoint `/api/logseq/tasks` (в проекте ppdb-site) требует `LOGSEQ_API_KEY` в переменных окружения.