Веб-приложение: распорядок дня, кухня и дневник веса. Работает по ссылке, ставится на домашний экран телефона, живёт офлайн.
https://esado95.github.io/plan16/
В репозитории только движок. Личного содержимого — распорядка, рецептов, рациона,
записей — здесь нет и не будет: оно лежит в отдельном файле plan16-data.json,
который загружается в приложение кнопкой и хранится в браузере устройства.
index.html всё приложение: разметка, стили, логика, без зависимостей
photos/ фото блюд, WebP
build_data.py markdown-заметки → plan16-data.json (личный, в .gitignore)
make_photos.py PNG → WebP под ширину экрана
make_icons.py иконки приложения
sw.js офлайн-кэш
Приложение не привязано к одному плану. В личном файле лежит список периодов, у каждого своя дата начала, своё расписание дня и свой чек-лист. Показывается тот, в который попадает сегодняшняя дата.
Периоды бывают двух видов:
plan— расписанные дни подряд, каждый со своей темой и едой;weekly— повторяющаяся неделя: для каждого дня недели своя нагрузка и заметка.
Новый период заводится прямо в приложении, на вкладке «Ещё» — расписание и чек-лист вводятся строками. Дневник ведётся по датам, а не по номеру дня, поэтому смена периода не разрывает график веса.
python build_data.py # заметки → plan16-data.json
python make_photos.py # фото → photos/*.webp
Пути к исходникам задаются переменными PLAN16_SRC и PLAN16_PHOTOS,
по умолчанию берётся соседняя папка ../plan-16.
При изменении index.html или списка файлов поднять VERSION в sw.js,
иначе на телефоне останется старая версия.
Записи дневника хранятся в localStorage устройства. Safari чистит хранилище
сайта после недели без визитов, поэтому в приложении есть кнопка «Сохранить копию» —
она выгружает записи и заведённые периоды одним JSON.