Commit Graph

3 Commits (c06ca75c8992c06fff58e965c4a3688d2ad18c1b)

Author SHA1 Message Date
mula.liu c06ca75c89 内容页边距:宽度优先给内容,顶栏与内容列同一条基线
高分辨屏上内容列被写死的 1360px 夹在中间,两侧大片空白,
顶栏控件还留在窗口边缘,和内容列差出一百多像素。

* 新增布局变量 --layout-header-h / --content-pad / --content-pad-end /
  --content-max,边距一处可调:14px 起,≥900 20px、≥1600 24px、≥2200 28px
* 内容列上限 1360 → 1680,宽度优先给内容;顶栏 padding-inline 跟着
  内容列内收(max(pad, (100% - 上限)/2)),1920/2560 下右缘零偏差
* 底部留白单独成变量,阅读器高度按 100vh - 顶栏 - 上下留白计算,
  移动端 768 的写死高度一并变量化,去掉多余的几像素竖直滚动
* 试卷排版收紧行距与段距;同时带上上一轮未提交的试卷/分屏样式
2026-09-18 14:56:36 +08:00
mula.liu 5f72149ceb 数据可恢复:补齐章节目录、找回电子书、加备份与内容快照
库文件 data/*.db 一直不进 git,seed --force 之后章节和题目就跟着没了。
这次把内容找回来,并且让远端始终留有一份可恢复的快照。

* seed/catalog.py:预置 4 本书的正式章节目录(29 章),启动时按 ISBN
  补齐缺失章节,并把未归章的题目挂到对应章下(不覆盖人工改过的归章)
* seed/ebooks.py:按「大小 + SHA-256」认领 data/ebooks 里的孤儿电子书,
  重建教材条目并把文件挪回该书目录(已找回教材 7《柯西-施瓦茨大师课》)
* services/ebooks.py:同内容文件复用,避免种子重复复制电子书
* dbtool.py + scripts/db.sh:backup/restore 本机时间戳备份,
  dump/load 把内容表导成 data/dump/catalog.sql(可提交、可灌回空库)
* seed --force 前自动备份并打印路径;README 增加「数据备份与恢复」
2026-09-18 14:56:10 +08:00
mula.liu 92bdb20741 v 0.1.0 2026-09-18 13:28:05 +08:00