152 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: add-book
description: Добавить книгу в Obsidian vault. Используй когда пользователь пишет "/add-book" или просит добавить книгу с конкретными данными.
version: 3.0.0
---
Добавь книги в Obsidian vault по данным: $ARGUMENTS
## Что сделать
### Шаг 1 — Всё параллельно с первого хода
Запусти **одновременно**:
- Glob `Библиотека/Книги/*.md` — проверка дубликата
- WebSearch `site:labirint.ru <название книги> <автор>` — поиск метаданных
- WebSearch `"<название книги>" <автор> краткое содержание ключевые идеи цитаты` — поиск идей
После Glob: если книга уже есть — сообщи и остановись.
### Шаг 2 — Извлечь метаданные без WebFetch
Из результатов поиска labirint.ru:
- Возьми URL вида `https://www.labirint.ru/books/<ID>/`
- **Cover URL** строится сразу: `imo10.labirint.ru/books/<ID>/cover.jpg/500-0`**не нужен WebFetch**
- **Число страниц** — ищи в сниппете поиска (часто есть в формате "XXX стр."). Если нет в сниппете — используй curl:
```bash
curl -s -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36" \
"https://www.labirint.ru/books/<ID>/" | grep -oE '[0-9]+ стр' | head -1
```
Если curl тоже не дал — ищи число страниц в сниппетах chitai-gorod.ru или book24.ru.
**Если labirint.ru не нашёл книгу** — WebSearch на `site:chitai-gorod.ru <название> <автор>` или `site:book24.ru <название> <автор>`. Для обложки: ищи CDN-ссылку в HTML через curl.
### Шаг 3 — Скачать обложку и создать файл (параллельно)
```bash
curl -s -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36" \
-L "https://imo10.labirint.ru/books/<ID>/cover.jpg/500-0" \
-o "/Users/ksv741/Obsidian/Knowledges/Библиотека/Книги/covers/<slug>.jpg" &
wait
```
Сразу после запуска curl создай файл книги (Write tool) — они работают параллельно.
### Шаг 4 — Определить тип и создать файл
- **Художественная** (роман, повесть, рассказы, фантастика, детектив, классика) → шаблон для художественных
- **Нехудожественная** (техническая, научпоп, бизнес, саморазвитие) → основной шаблон
Правила файла:
- Путь: `Библиотека/Книги/<Название>.md` (абсолютный путь)
- `Ссылка` — всегда пусто
- `Прогресс` = кол-во страниц если статус `Прочитано`, иначе `0`
- Сразу после `# <Название>` вставь `![[covers/<slug>.jpg]]`
**Не делай git-операций**
---
## Шаблон для нехудожественных книг
```markdown
---
Тип: Книга
Статус: <статус>
Название: <название>
Автор:
- <автор>
Количество страниц: <число>
Прогресс: <число>
Формат: <формат>
Обложка: Библиотека/Книги/covers/<slug>.jpg
Начата: <год>
Закончена: <год>
Оценка:
Сложность:
Теги:
- <тег>
Категории:
- <категория>
Источник:
Ссылка:
---
# <Название>
![[covers/<slug>.jpg]]
## 📖 О книге
## 🧠 Ключевые идеи
## 💬 Важные цитаты
## 💡 Как применить в моих проектах
## 🔗 Связанные заметки
```
## Шаблон для художественных книг
```markdown
---
Тип: Книга
Статус: <статус>
Название: <название>
Автор:
- <автор>
Количество страниц: <число>
Прогресс: <число>
Формат: <формат>
Обложка: Библиотека/Книги/covers/<slug>.jpg
Начата: <год>
Закончена: <год>
Оценка:
Категории:
- <категория>
Ссылка:
---
# <Название>
![[covers/<slug>.jpg]]
## 📖 О книге
## 🧠 Ключевые темы
## 💬 Важные цитаты
```
---
**Статус:** `Запланировано` | `Хочу прочитать` | `В процессе` | `Прочитано` | `Заброшена`
**Формат:** `Бумажная` | `Электронная` | `Аудио`
## Fallback-цепочка
| Что ищем | 1й выбор | Fallback |
|----------|----------|----------|
| Страница книги | labirint.ru | chitai-gorod.ru → book24.ru |
| Обложка | `imo10.labirint.ru/books/<ID>/cover.jpg/500-0` | curl grep CDN на piter.com |
| Число страниц | Сниппет поиска | curl grep на странице → chitai-gorod.ru сниппет |