11 August 2026, 20:00 (CST)
11 August 2026, 18:00 (CST)
2026年08月11日 18:00(东八区 / 北京时间)
看板功能微调:顶格时间约束 · 默认六列布局 · 卡片置顶
概述
在看板 GUI 编辑器与明细页上完成三项微调:
- 顶格时间约束:
week_start/week_end必须优先设置,跨度 2 ~ 14 天,所有卡片@start/@due不得超出该区间; - 默认新建布局:待办 / 进行中 / 已完成 / 进度 四列竖向,资源 / 目标 底部并排;进度列按天生成卡片并预填勾选清单;
- 卡片置顶:新增
@pin指令,同列表可多卡片置顶,置顶优先显示且带 📌 徽标。
1. 顶格时间约束
| 规则 | 实现 |
|---|---|
| 必须优先设置 | 检查器“看板信息”面板将周起止放在首位;未设置无法通过校验 |
| 跨度 2–14 天 | validate():daySpan < 2 或 > 14 均报错并提示当前天数 |
| 卡片时间不得越界 | validate() 逐卡片检查 @start / @due 是否落在 [week_start, week_end];错误信息带列/卡片定位 |
| 日期选择器联动 | 周开始 max=周结束、周结束 min=周开始;卡片开始/截止 min=周开始、max=周结束(applyDateBounds()) |
2. 默认新建布局
待办 进行中 已完成 进度 ← 主流程列(竖向一排)
资源 目标 ← 底部并排一行columnKind新增 progress 识别(进度 / progress / timeline),进度列青色头样式;- 明细页
renderBoard改为两行容器:.kanban-board-main(主流程列)+.kanban-board-bottom(资源/目标并排); - 编辑器画布同步两行预览(
.kanban-editor-canvas-row); - 进度列按天生成:
dayCardsBetween(week_start, week_end),每张卡片标题MM-DD 周X,默认预填一条勾选清单「记录当日完成内容」(可勾选/划线); - 修改顶格时间且进度列仍为自动生成样式(标题匹配
MM-DD 周X)时,maybeRegenerateProgress()自动重排天数(仅新建模式)。
3. 卡片置顶
- 规则引擎:
@pin/@置顶指令 ↔ 卡片pinned字段,序列化往返无损; sortCards()置顶优先:同一列表置顶卡片始终排在最前(手动模式保持相对顺序;按截止/优先级等排序时置顶组仍置顶);- 明细页:置顶卡片带
📌 置顶徽标(左侧强调边框),解锁模式点击徽标取消置顶; - GUI 编辑器:卡片面板新增「置顶 / 解除置顶」按钮,画布卡片右上角显示 📌。
4. 涉及文件
| 文件 | 作用 |
|---|---|
static/js/kanban-rules.js | @pin、progress 列识别、置顶优先排序 |
static/js/kanban-editor.js | 默认六列 + 进度按天、时间校验、日期边界联动、置顶按钮 |
static/js/kanban-board.js | 两行布局、置顶徽标交互 |
sass/kanban/style.scss | 两行容器、进度列配色、置顶样式 |
content/kanban/kanban-mapping.md | 规则与布局文档同步 |
5. 验证
node --check三个 JS 通过;- 规则测试:现有 4 看板往返无损;
@pin解析/序列化、置顶+按截止混合排序、progress 列识别全部通过; zola build无错误,verify-kanban-buildOK。