Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Дневник

Школьный дневник советского образца, который правится пальцем. Экрана настроек нет: страница «Расписание уроков» и есть редактор — тапаешь по клетке и вписываешь своё.

Открыть: make.trystampling.com/dnevnik

Без аккаунта, без интернета, без единого запроса наружу. Ставится на телефон как приложение.

Как задать своё расписание

Открываешь — неделя уже заполнена примером, чтобы было видно, как всё устроено. Тапаешь «Очистить и вписать своё», и дальше:

  1. Печатаешь «Математика», жмёшь Enter — каретка сама переходит к следующему уроку.
  2. «Русский», Enter. «Физра», Enter.
  3. Пустой Enter перепрыгивает в следующий день.
  4. Со второго дня печатать почти не надо: каждое введённое название встало в ленту подсказок над клавиатурой, дальше всё добирается тапами.

Шесть дней по пять уроков — примерно пятнадцать набранных слов и пятнадцать тапов. Кнопки «Сохранить» нет: то, что ты заполняешь, и есть расписание.

Дальше:

  • Отметка — тап по клетке «отм.», снизу выезжает лист с крупными кнопками.
  • Ошибся — тап по слову, снизу лист: свои предметы, «выше», «ниже», «убрать урок». Внизу семь секунд висит «Отменить». Вопроса «вы уверены?» нет нигде.
  • Нет уроков в субботу — тап по названию дня, «У нас нет уроков в этот день». Записи не удаляются: передумаешь — вернутся тем же тапом.
  • Крупнее — кнопка «Вид»: размер, межбуквенный и междустрочный интервал, шкала отметок.

Расписание текстом из чата класса

Родителю прислали расписание в чат — скопируй и вставь в дневник кнопкой «Вставить расписание текстом». Разберётся само:

Расписание на понедельник:
1. Матем - учебник и тетрадь
2. Физ-ра (форма!)

станет Понедельник: Математика (примечание «учебник и тетрадь»), Физическая культура (примечание «форма!»). Словарь на 162 ключа знает «физ-ра», «Рус.яз», «окр мир», «Англ 38» с приклеенным кабинетом и даже «ОДНРК» с опечаткой школы.

Разборщик обычный, без нейросетей и без сети — работает офлайн и мгновенно. И он не достраивает: не подставляет день по умолчанию, не заполняет дырки в нумерации. Из «Добрый вечер! Сдаём деньги на тетради» урок не родится — такая строка честно попадёт в «не поняла». Таблицу с днями по колонкам и расписание целой параллели он не берётся разбирать и говорит об этом прямо, вместо правдоподобной чуши.

Раздать расписание классу

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

Ссылка несёт только расписание уроков: ни отметок, ни домашних заданий, ни имени. Она читается глазами — #r=Пн:Химия,Алгебра,Физика~Ср:Литература,История — и её можно поправить руками. Тот, кто открыл, сначала видит, что придёт, и решает сам; отметки и задания у него останутся своими.

Несколько дневников

На обложке — корешки. У мамы с двумя детьми два дневника на одном телефоне, у каждого своя заготовка: «Пятый класс» с пятибалльными отметками, «Началка со смайликами» с крупными клетками, «Взрослый» с делами вместо уроков и отметкой «сделано или нет».

Ретро как поведение, а не как картинка

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

Шкала отметок тоже не про старание, а про результат: 5 — сделано и ушло наружу, 4 — сделано, но лежит у тебя, 3 — начато, 2 — не тронуто. Черновик в папке никогда не пятёрка.

Данные

Всё лежит на устройстве, в самом приложении. Ни сервера, ни аккаунта, ни аналитики: страница не делает ни одного запроса наружу — шрифты лежат в репозитории.

«Сохранить копию» отдаёт обычный текстовый файл. «Открыть копию» не заменяет, а соединяет: всё, что было на этом устройстве, остаётся; всё, что есть в файле, добавляется. Побеждает более поздняя правка каждой клетки по отдельности, причём сравнение идёт по счётчику документа, а не по часам — часы на детском планшете уходят, счётчик нет.

Записи первой версии переносятся сами при первом открытии.

Что внутри

index.html            каркас страницы
style/paper.css       бумажная дизайн-система: палитра, линовка, печать
core/core.js          модель, патчи с отменой, хранилище, соединение копий, ссылка
core/parse.js         разбор расписания из текста, словарь на 162 ключа
ui/app.js             разворот и правка пальцем
fonts/                PT Sans Narrow, PT Serif, Caveat — кириллица, OFL
lab/enter-chain.html  проба цепочки Enter на живой клавиатуре
v1.html               первая версия, для истории

Ванильные HTML, CSS и JavaScript. Ни сборки, ни зависимостей, ни фреймворка.

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

Цепочка Enter и клавиатуры с подсказками

Главный жест продукта чуть не сломался о русскую экранную клавиатуру: при активной подсказке Enter означает «подтвердить слово», а не «дальше», и приходит как keyCode 229 без key="Enter". Поэтому логика висит не на keydown, а на beforeinput с типом insertParagraph, и пропускается, пока идёт композиция. Проверить на своём устройстве можно пробой lab/enter-chain.html — там журнал показывает, что реально прилетает с клавиатуры.

Неделя из сессий Claude Code

Если работа идёт через Claude Code, расписание можно собрать из истории:

node tools/week-from-sessions.mjs --days 7

Берёт сессии за последние дни, вытаскивает из каждой первую реплику человека как тему, схлопывает повторы, откладывает регулярные задачи в «повторение пройденного» и раскладывает остальное по предметам. Это черновик: машина видит, о чём шли разговоры, но не знает, что из этого важно.

Лицензия

MIT — код. Шрифты по SIL Open Font License 1.1, тексты лежат в fonts/.

About

Школьный дневник советского образца как рабочий планировщик. Один файл, без сборки, работает офлайн.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages