feat(heatmap): 蛇家族四变体 + 补齐后台表单(5j 预览 v3)
用户选定 F+J 方向,要求蛇能**循环**(学 GitHub README 蛇的节奏),并再看几个新变体。
四个蛇变体:
- F1 循环贪吃蛇:蛇形爬一年,吃到有贡献的日子点亮;到端点停一拍、清空、重新开始,
无限循环,身体保持 6 节(README 蛇手感)
- F2 生长蛇:每吃到一天长一节(3 → 26 上限),吃完循环重置——"积累"的隐喻最强
- F3 双蛇对开:两条蛇从最早/最新一头相向而吃,在年中交汇
- FJ 蛇 + 月柱联动:蛇爬进某个月,对应柱子同步升起并高亮;爬到年末十二根全立,
然后回到起点、柱子清零、再来一轮(用户点名要的组合)
- J 单独保留月度柱状图作参考
实现要点:共用一套蛇引擎(蛇形路径 = 按列推进、奇数列反向;轨迹队列控制身长;
到端点判定"本轮结束"→ 900ms 后 reset 并重入);IntersectionObserver 离开视口即停;
「减少动态效果」下直接呈终态(点亮所有有贡献的格子 + 柱子立起)。
**后台补齐(回答用户"改动同步到后台了吗"——此前确实漏了两处)**:
- 开源页新增「叙述(推荐改这里)」story 字段(双语 markdown,链接内联),
旧 blurb 标注 legacy
- 新增「瞬间 / 书架 标题下的说明」文件条目:文字(markdown)+ 字号(11–16)
+ 颜色(ink 灰阶四级)+ 字体(12 族下拉),两页独立
验证: 构建 52 页 exit 0;config-check 231 字段 / 73 hint 全过;
Playwright 实测——F1 身长 6 且 loop 计数 1→2、第 1 轮吃到 51 天;
F2 身长 3→26、吃掉 38 天;F3 同时 2 个蛇头;FJ 柱子随爬行递增点亮(3→5→7→10);
J 柱子升起并悬停联动
Spec: 2026-11-03_blog-5j-content-refine (预览 v3)
Co-authored-by: GLM-5.3
This commit is contained in:
1 parent
d9721cdbd8
commit
34a78dacb9
2 files changed
+324
-347
No files matched your search
+77
-2
@@ -143,6 +143,73 @@ collections:
|
||||
- name: site_pages
|
||||
label: 页面文案
|
||||
files:
|
||||
- name: pages
|
||||
label: 瞬间 / 书架 标题下的说明
|
||||
file: content/site/pages.yaml
|
||||
format: yaml
|
||||
hint: 这两页大标题下面那一行字,文字与样式都在这里改
|
||||
fields:
|
||||
- label: 瞬间页
|
||||
name: moments
|
||||
widget: object
|
||||
required: false
|
||||
fields:
|
||||
- label: 说明文字
|
||||
name: note
|
||||
widget: object
|
||||
required: false
|
||||
hint: 支持 markdown 与排版类(字体/颜色)
|
||||
fields:
|
||||
- { label: 中文, name: zh, widget: markdown, required: false }
|
||||
- { label: English, name: en, widget: markdown, required: false }
|
||||
- label: 样式
|
||||
name: style
|
||||
widget: object
|
||||
required: false
|
||||
hint: 留空用全站默认;越界值会被自动夹取(不会破版)
|
||||
fields:
|
||||
- { label: 字号(px,11–16), name: size, widget: number, required: false, value_type: int, min: 11, max: 16 }
|
||||
- label: 颜色
|
||||
name: color
|
||||
widget: select
|
||||
required: false
|
||||
hint: 只开放灰阶层级,避免正文被染色
|
||||
options: [ink-1, ink-2, ink-3, ink-4]
|
||||
- label: 字体
|
||||
name: font
|
||||
widget: select
|
||||
required: false
|
||||
options: [font-sans, font-serif, font-kai, font-huiwen, font-kuaile, font-xiaowei, font-huangyou, font-mashanzheng, font-liujianmaocao, font-smiley, font-neoxihei]
|
||||
- label: 书架页
|
||||
name: books
|
||||
widget: object
|
||||
required: false
|
||||
fields:
|
||||
- label: 说明文字
|
||||
name: note
|
||||
widget: object
|
||||
required: false
|
||||
hint: 支持 markdown 与排版类(字体/颜色)
|
||||
fields:
|
||||
- { label: 中文, name: zh, widget: markdown, required: false }
|
||||
- { label: English, name: en, widget: markdown, required: false }
|
||||
- label: 样式
|
||||
name: style
|
||||
widget: object
|
||||
required: false
|
||||
hint: 留空用全站默认;越界值会被自动夹取(不会破版)
|
||||
fields:
|
||||
- { label: 字号(px,11–16), name: size, widget: number, required: false, value_type: int, min: 11, max: 16 }
|
||||
- label: 颜色
|
||||
name: color
|
||||
widget: select
|
||||
required: false
|
||||
options: [ink-1, ink-2, ink-3, ink-4]
|
||||
- label: 字体
|
||||
name: font
|
||||
widget: select
|
||||
required: false
|
||||
options: [font-sans, font-serif, font-kai, font-huiwen, font-kuaile, font-xiaowei, font-huangyou, font-mashanzheng, font-liujianmaocao, font-smiley, font-neoxihei]
|
||||
- name: home
|
||||
label: 主页设置
|
||||
file: content/site/home.yaml
|
||||
@@ -544,11 +611,19 @@ collections:
|
||||
fields:
|
||||
- { label: 中文, name: zh, widget: string }
|
||||
- { label: English, name: en, widget: string }
|
||||
- label: 叙述(链接前)
|
||||
- label: 叙述(推荐改这里)
|
||||
name: story
|
||||
widget: object
|
||||
required: false
|
||||
hint: '整段叙述写成一个字段即可(markdown + 排版类),链接直接写在句子里:[本站源码](https://git.wait4x.online/wait4x/blog) —— 这样就不用再分"链接前/链接后"。留空时才会退回下面的旧字段拼接'
|
||||
fields:
|
||||
- { label: 中文, name: zh, widget: markdown, required: false }
|
||||
- { label: English, name: en, widget: markdown, required: false }
|
||||
- label: 叙述(旧:链接前)
|
||||
name: blurb
|
||||
widget: object
|
||||
required: false
|
||||
hint: 富文本(markdown + 排版类),渲染在仓库链接之前
|
||||
hint: 'legacy:仅当上面的「叙述」为空时才使用(历史字段,为把仓库链接夹在中间而拆成两半)'
|
||||
fields:
|
||||
- { label: 中文, name: zh, widget: string, required: false }
|
||||
- { label: 英文, name: en, widget: string, required: false }
|
||||
|
||||
Reference in new issue
Block a user