ДВОР / ДЛЯ СЕБЯ

Собираем читательский дневник

Закрываешь книгу, а потом забываешь, что хотелось из неё забрать. Здесь можно оставить цитаты, свои мысли и отзыв — и найти их, даже если название книги уже не помнишь.

01

ПЕРВЫЙ УРОВЕНЬ / ГОТОВЫЙ ИНСТРУМЕНТ

Собрать свой дневник

Выше — рабочий вариант первого уровня. Листай полку стрелками и нажимай на книгу: в отдельном окне можно отмечать чтение, выписывать цитаты и вести заметки. Поиск ищет по всему дневнику, а не только по названиям. Записи сохраняются в браузере; для переноса на другой компьютер есть скачивание и загрузка файла.

Полка и чтение

Читаю, хочу прочитать, прочитано, отложено. Страницы, оценка, даты и темы.

Записи и поиск

Несколько цитат и заметок к одной книге, отдельный отзыв. Найти мысль, даже когда не помнишь книгу.

Итоги и перенос

Книги, их объём и средняя оценка за месяц или год. Весь дневник можно скачать в JSON.

Что отправить нейросети

Скачай пять документов ниже и приложи их к запросу. Сам пример со страницы отправлять не нужно: задание, данные, поведение и оформление описаны в документах.

Про оформление. Документ «04-Оформление» можно изменить под себя перед сборкой. Оставишь готовый вариант — получится бумажная полка в стиле примера выше.
Запрос для первого прототипа раскрыть / свернуть
Собери браузерный читательский дневник «На полях» по пяти приложенным документам:
01-Задание.md, 02-Данные-и-логика.md, 03-Поиск-и-итоги.md, 04-Оформление.md и 05-Проверки.md.

Реализуй книжную полку, которую можно листать влево и вправо без полосы прокрутки. Нажатие на книгу открывает окно с её статусом, прогрессом, оценкой, датами, темами, цитатами, заметками и отзывом. Добавь поиск по всем записям, фильтры, сортировку, итоги чтения, сохранение в браузере, экспорт и импорт JSON с проверкой данных. Поведение и проверки описаны в документах.

Оформление возьми из приложенного документа 04. Шрифты подключи внешними ссылками с системной заменой. Картинки, если они нужны, подключай публичными ссылками; оформление из линий и текста или встроенный SVG можно оставить внутри HTML.

Результат — один HTML со стилями и JavaScript внутри. Его должно быть можно открыть в браузере и выложить на GitHub Pages. Подготовь код для вставки в блок Т123 в Тильде. На телефоне нет горизонтальной прокрутки, на компьютере основной экран подходит для показа 16:9.

Проверь действия из документа 05 в браузере, если инструменты доступны. Верни готовый HTML. Кратко укажи, что проверено; если проверка в браузере недоступна, прямо скажи об этом.

01 · Что собрать

Функции, действия и правила первого уровня.

02 · Данные и логика

Что хранить, как связаны книги и записи, как переносить дневник.

03 · Поиск и итоги

Где ищем совпадения и как считаем чтение за месяц или год.

04 · Оформление

Готовый бумажный стиль. Можно изменить под себя.

05 · Проверки

Сценарии для проверки собранного дневника.

Что проверить после сборки

  • Добавь свою книгу, несколько цитат, заметок и отзыв. Измени одну запись — другие должны остаться.
  • Найди книгу по фразе, которая есть только в заметке. Попробуй поиск вместе с фильтром статуса.
  • Измени прогресс и статус, сверь итоги за месяц. «Страниц в этих книгах» — объём законченных книг, а не учёт чтения по дням.
  • Скачай дневник, измени его и загрузи файл обратно. Отмени импорт; попробуй повреждённый файл — текущие записи не должны измениться.
  • Перезагрузи страницу и проверь телефон. При закрытии несохранённой формы нужна возможность вернуться к ней.

Полный список, включая неверные страницы, удаление всех книг и ошибки хранилища, — в «05-Проверки».

Для публикации. Результат сборки — один HTML. Его можно выложить на GitHub Pages; для Тильды нужен код, подходящий для Т123. Внешние обложки и шрифты подключаются ссылками, а обложки из линий и текста могут оставаться внутри кода. При переезде на другой адрес перенеси дневник через JSON.
02

ВТОРОЙ УРОВЕНЬ / ВЫБРАТЬ ДОРАБОТКУ

Связать мысли или делать карточки

Сначала собери и проверь первый уровень. Затем можно выбрать одну доработку или сделать обе. Ниже пример того, как они могут выглядеть. Это рисунок для обсуждения, а не работающий экран второго уровня.

ПРИМЕРПример связей между книгами и редактора карточки цитатыСлева две записи соединены с комментарием; справа настройки и предпросмотр карточки. Это иллюстрация возможной доработки.ПРИМЕР / ВТОРОЙ УРОВЕНЬСвязи между мыслямиНе просто одна тема — конкретная запись с другой записьюМАЛЕНЬКИЙ ПРИНЦ · МОЯ ЗАМЕТКАПочему взрослым всё времянужны объяснения?→ Открыть записьОдин вопрос, но разные ответыПИСЬМА К МОЛОДОМУ ПОЭТУ · ЗАМЕТКАПеречитать про одиночествои терпение.← Вернуться к первой записиКарточка из цитатыВыбрать оформление → скачать картинкуФОРМАТПост · 1080 × 1080ШАБЛОНБумага и чернилаЦВЕТ БУМАГИОБЛОЖКАДобавить на карточкуСкачать PNG ↓НА ПОЛЯХ“Здесь будет цитата,которую захочетсяоставить на виду.Автор · название книгиПример оформления, не цитата из книгиПредпросмотр будущей карточки
Слева — переходы между записями из разных книг. Справа — оформление и скачивание карточки цитаты.

Связывать книги между собой

Читаешь новую книгу и замечаешь: об этом уже было у другого автора. Связываешь две книги или две конкретные записи, оставляешь комментарий. Потом переходишь от одной мысли к другой.

Для начала достаточно списка связей. Темы уже есть в базе; подборки и карту с линиями можно добавить дальше.

Делать карточки цитат

Выбираешь цитату, настраиваешь бумагу, шрифт и подпись, скачиваешь картинку для поста, сторис или своего архива. Начать можно с пары шаблонов без обложки.

Если добавляешь обложку по ссылке, отдельно проверь скачивание: не каждый сервер разрешает использовать свою картинку в таком экспорте.

Логика доработок простыми словами
  • Связи: у каждой книги и записи есть свой id. Связь хранит два таких адреса и комментарий. При удалении записи убираются и её связи — после подтверждения.
  • Карточки: исходная цитата остаётся прежней. Для неё создаётся отдельное оформление, которое превращается в изображение нужного размера.
  • Перенос: новые связи и настройки нужно включить в экспорт. Старый файл дневника должен по-прежнему загружаться.

Как продолжить с нейросетью

Приложи свой уже работающий HTML и документ второго уровня. В запросе оставь выбранный вариант. Сначала выясни, как новая функция будет работать с существующими данными; потом собирай и проверяй её в браузере.

Пример запроса для доработки раскрыть / свернуть
Я прикладываю работающий HTML читательского дневника и документ «06-Связи-и-карточки.md».

Хочу добавить: [выбери — связи между книгами и записями / карточки цитат / оба варианта].

Сначала изучи текущие данные и код, задай вопросы, которые влияют на поведение новой функции. После ответов доработай тот же HTML. Сохрани существующие книги и записи, подготовь перенос данных и расширь импорт/экспорт, если меняешь структуру.

Проверь новые действия в браузере и повтори основные проверки первого уровня. Верни обновлённый HTML и укажи, что удалось проверить.

Что проверять

Для связей — переходы в обе стороны, удаление книги, перезагрузку и перенос через файл. Для карточек — кириллицу, длинную цитату, разные форматы и сам скачанный файл: размер, шрифт и текст должны совпадать с предпросмотром.

03

ТРЕТИЙ УРОВЕНЬ / ЧТЕНИЕ ВНУТРИ ДНЕВНИКА

Добавить читалку EPUB

Загружаешь EPUB, читаешь внутри дневника и выделяешь фрагмент. Его можно сохранить в цитаты с комментарием, а потом вернуться из записи к этому месту в книге.

Сначала собери дневник первого уровня. Второй уровень можно пропустить. Рисунок ниже показывает один вариант читалки. В дневнике выше её пока нет.

ПРИМЕРПример читалки EPUB внутри дневникаЧиталка с оглавлением и выделением слева, сохранённая цитата с кнопкой возвращения к тексту справа.ПРИМЕР / ТРЕТИЙ УРОВЕНЬНа полях / ЧиталкаНазвание загруженной книгиРазмер текста: A− A+ОГЛАВЛЕНИЕПредисловиеГлава 1Глава 2Глава 3Продолжишь с этого местаГлава перваяЗдесь отображается текст загруженного EPUB.Можно менять размер шрифта, переходитьмежду разделами и сохранять своё место.Выделенный фрагмент попадёт в дневник.К нему можно добавить свою мысль, а потомвернуться из записи к этому месту в книге.Сохранить цитату +На иллюстрации — пример текста интерфейса.В рабочей читалке здесь будет содержимое EPUB.← НазадЧтение · 24%Далее →ЦИТАТЫ ЭТОЙ КНИГИГЛАВА 1 · ФРАГМЕНТ В EPUBВыделенный фрагментпопадёт в дневник.МОЙ КОММЕНТАРИЙВернуться и обдумать.Перейти к месту в книге →Место сохранится, даже если изменитьшрифт или ширину страницы.
Выделить фрагмент → сохранить цитату → вернуться из записи к месту в EPUB.
Про перенос книг. Загруженная книга хранится в этом браузере. В файл экспорта дневника попадают записи, цитаты и сохранённое место, но сам EPUB туда не входит. На другом устройстве загрузи тот же файл книги, из которого сохранялись цитаты.
Что здесь сложнее и через что собрать

Нужно сохранить и книгу, и место каждой цитаты в тексте. Номер экрана не подходит: поменяешь шрифт — текст расположится иначе.

Можно использовать EPUB.js для чтения, JSZip для открытия файла и IndexedDB для хранения книги в браузере. Подробности есть в документе ниже.

Начни с EPUB: оглавление, размер текста, сохранение места, цитаты и возврат к ним. PDF и аудиокниги пока оставь на потом.

Как продолжить с нейросетью

Приложи свой работающий HTML, документ третьего уровня и тестовый EPUB. Скопируй запрос ниже. После сборки проверь загрузку книги, чтение, сохранение цитаты и переход обратно в текст.

Пример запроса для читалки раскрыть / свернуть
Я прикладываю работающий HTML дневника, документ «07-Читалка-EPUB.md» и тестовый EPUB.

Добавь читалку: загрузку EPUB, оглавление, изменение размера текста и сохранение места. Выделенный текст можно сохранить в цитаты с комментарием, а из цитаты — вернуться к этому месту в книге.

Книги хранятся в браузере. В экспорт дневника входят записи и сохранённое место, но не сами EPUB. Для чтения на другом устройстве пользователь загружает тот же файл книги. Если он выбрал другой файл, покажи понятную ошибку и дай выбрать снова. Удаление EPUB не удаляет цитаты и заметки.

Читалка показывает процент прочитанного. Страницы и статус книги пользователь отмечает самостоятельно — читалка их не меняет.

Изучи текущий код и документацию библиотек. За основу можно взять EPUB.js 0.3.93 и JSZip 3.10.1 — эту связку мы проверили. Доработай дневник, сохрани все прежние записи и возможность загрузить старый файл дневника. Если что-то в задании осталось неясным, спроси перед доработкой.

Верни обновлённый HTML и подготовь код для вставки в блок Т123 в Тильде. Библиотеки для чтения EPUB подключи по ссылкам.

Проверь действия из документа в браузере, если инструменты доступны. Кратко напиши, что проверено и какие ограничения остались. Если проверка в браузере недоступна, прямо скажи об этом.

Что проверять

  • Прочитай до середины главы, закрой книгу и открой снова. Место должно сохраниться.
  • Сохрани цитату, увеличь шрифт и перезагрузи страницу. Из цитаты должен открыться нужный фрагмент.
  • Сохрани целый абзац и несколько абзацев. Текст цитаты не должен обрезаться.
  • При восстановлении книги выбери другой EPUB, а затем исходный. После ошибки книга должна восстановиться без лишней карточки.

Остальные проверки — в скачиваемом документе.

ДВОР · Начни с рабочего дневника, а дальше выбирай, что хочется добавить.