Skip to Main Content
看板 Markdown 映射说明Back to Top

看板 Markdown 映射说明

周计划看板 · Markdown 映射说明

看板数据统一存放在 content/kanban/(一个 .md 文件 = 一个自然周,或单日「上午 / 下午 / 晚上」时段看板)。
Zola 构建时将原始 Markdown 内嵌到页面,规则引擎直接解析,无需 static/ 副本。

文件命名

规则示例
多天(跨天周计划):周开始-周结束(月-日)-打开编辑器时的时分2026-06-16-06-22-2236.md(= 6.16 – 6.22,22:36 打开 GUI)
单日「全天」(不选时段):周开始2026-10-13.md
单日 + 时段:周开始_时段2026-10-13_上午.md / 2026-10-13_下午.md / 2026-10-13_晚上.md
修改已有看板沿用原文件名,不会因为改内容而改 URL
路径content/kanban/<文件名>.md

文件名同时是「生成并复制到剪贴板 / 同步到仓库」时提示的目标文件名(新建时按上面的规则生成,时分取自打开 GUI 编辑器的那一刻,编辑过程中不再变化)。

URL 唯一性(重要):Zola 会把文件名开头的 YYYY-MM-DD 当成页面日期并从 slug 中剥离,只剩余下部分参与 URL。因此每块看板都在 front matter 里显式写 slug(= URL 安全化的文件名),否则会出现两类事故:不同日期的同一时段撞车(2026-08-11_晚上.md 与 2026-10-13_晚上.md 都会变成 /kanban/wan-shang/,构建报 Found path collisions);多天与单日「全天」也会混淆。GUI 新建 / 编辑时都会自动写入 slug。

看板类型文件名生成的 URL
多天(跨天周计划)2026-06-16-06-22-2236.md/kanban/2026-06-16-06-22-2236/
单日「全天」(不选时段)2026-10-13.md/kanban/2026-10-13/
单日 上午2026-10-13_上午.md/kanban/2026-10-13-shang-wu/
单日 下午2026-10-13_下午.md/kanban/2026-10-13-xia-wu/
单日 晚上2026-10-13_晚上.md/kanban/2026-10-13-wan-shang/

因为多天看板的文件名带上了结束日期与创建时分,多天、全天、上午、下午、晚上这五类看板可以在同一天共存,且 URL 各自唯一。

历史文件:2026-06/07 创建的 4 块多天看板已统一迁移为新命名(2026-06-16-06-22-0934.md 等), 并在 front matter 里加了 slug(新 URL)与 aliases(旧 URL),老链接照常可访问; 用 GUI 修改这些看板并保存时,slug 与 aliases 都会被保留。

编辑时的锁定规则

看板类型周开始周结束时段
单日(含「全天」)锁定锁定(起止同一天)锁定
多天(跨天)锁定可改(开始 +13 天以内)不适用

修改已有看板时不会重命名文件、也不会改写已有 slug,因此 URL 保持稳定。

新建时的重复提示

新建看板时,如果所选时间段与已有看板重叠,编辑面板会直接提示:

提示数据来自列表页内嵌的看板清单,随你调整起止日期实时更新;修改已有看板时不会出现该提示。

Front Matter(页面元数据)

+++
title = "6.16 – 6.22 周计划"
description = "列表页摘要,可选"
date = 2026-06-16
template = "kanban.html"
[extra]
week_start = "2026-06-16"
week_end = "2026-06-22"
core_tasks = "本周核心任务一句话"
stats = { total = 8, done = 3, todo = 3, doing = 2 }
+++

单日看板(带时段)额外写一行 slug,GUI 新建 / 编辑时会自动带上:

+++
title = "2026-10-13 晚上 计划"
date = 2026-10-13
slug = "2026-10-13-wan-shang"
template = "kanban.html"
[extra]
week_start = "2026-10-13"
week_end = "2026-10-13"
period = "晚上"
+++
字段说明
week_start / week_end顶格时间约束:必须优先设置;跨度 1 ~ 14 天(默认新建 = 今日到今日);修改已有看板时 week_start 锁定,单日看板 week_end 一并锁定、多天看板 week_end 最大为开始 +13 天;全部卡片的 @start / @due 必须落在该区间内(GUI 编辑器校验并限制日期选择)
period时段:上午 / 下午 / 晚上(仅单天看板参与文件名与 URL;配合自动生成的 slug 保证同日多看板 URL 唯一)
slug看板 URL(= URL 安全化的文件名):多天 2026-06-16-06-22-2236、全天 2026-10-13、时段 2026-10-13-wan-shang。GUI 新建、编辑时自动写入;手写文件时必须自己补,否则会和其它看板撞 URL
core_tasks列表卡片展示的核心任务
board_bg看板背景(预置色名或 #RRGGBB / gradient(...),Trello 风格)
favoritetrue / false,看板标题旁星标收藏(需保存生效)
stats进度统计(按列名自动计算)

结构映射

Markdown看板元素
# 列表名一列(待办 / 进行中 / 已完成 / 资源 / 目标)
## 卡片标题一张卡片,归属上方最近的 # 列表

列顺序 = 文件中 # 出现顺序。
卡片顺序 = 各列内 ## 出现顺序。

列表级可选指令(写在 # 列名 之后、第一张卡片之前):

指令语法看板表现
列内排序@sort manual / due / priority / title / checklist明细页按该规则排序显示(默认 manual)
排序方向@sort-order asc / desc升序(默认)/ 降序

卡片属性 · 规则引擎指令

指令单独占一行,写在 ## 标题 之后、正文之前。以 @ 开头,大小写不敏感。

指令语法看板表现
截止日期@due 2026-06-20卡片底部截止图标 + 日期
开始日期@start 2026-06-16卡片底部开始图标 + 日期
重要等级@priority 4 或 @importance 41–5 星(淡黄色,满星填充)
目标类型@goal complete / @goal risk目标看板:完成效果(淡蓝)/ 未完成后果(灰爆)
颜色标签@labels red, blue 或 @label green明细页顶栏色条(权重 n);列表页不显示
顶栏色@top red 或 @top orange明细页卡片顶部粗色条(Trello 顶栏)
封面尺寸@cover half / @cover full半封面(默认)= 顶部色条;全封面 = 整卡背景着色(浅色自动深字)
完成状态@done 或 @complete卡片正面打勾、标题划线、截止徽标变绿(Trello “标记完成”)
置顶@pin 或 @置顶同一列表可多卡片置顶;置顶卡片优先显示,卡片带 📌 徽标
背景封面色@bg orange 或 @bg #FFE0B2卡片封面:半封面 = 顶部色条;配合 @cover full = 整卡背景着色
顶栏色@top red 或 @top #E53935卡片顶部细色条(Trello 顶栏)
勾选框- [ ] 未完成 / - [x] 已完成卡片内 checklist

预置标签色名

red · orange · yellow · green · blue · purple · pink · sky · lime · black

也支持 #RGB / #RRGGBB 十六进制。

描述正文

除 @ 指令与 checkbox 行以外的 Markdown(段落、列表、加粗等)→ 卡片描述区。


完整示例

# 待办

## 规则引擎文档
@due 2026-06-18
@labels blue, green
@top purple

- [ ] 编写 kanban-rules.js
- [ ] 补充映射说明

完成 **Markdown ↔ 看板** 双向转换说明。

# 进行中

## 看板 UI
@bg #FFF3E0
@top orange
@due 2026-06-20

- [x] Trello 列布局
- [ ] 拖拽交互

# 已完成

## 需求梳理
@labels green

- [x] 对齐 article / nanolog 结构

编辑方式

状态行为
锁定(默认)不可拖拽;隐藏 ReDeplog / Edit Post / 映射说明
解锁仅在 week_start~week_end 窗口内可切换;可拖拽卡片跨列(本地预览)
保存点击 Edit Post:先将当前看板按映射规则序列化写入 content/kanban/_edit-buffer.md(缓冲),再覆盖 content/kanban/<周>.md;无 Token 时复制到剪贴板并在 Codeberg 编辑器粘贴
超期截止日 week_end 当日 23:00(站点 zola.toml → extra.timezone)之后永久只读,无法解锁

看板详情页(Trello 对齐)

明细页 UI 全盘参考 Trello 重构:

区域行为
看板头部返回链接 · 标题 · 收藏星标(extra.favorite)· 开始/截止/剩余天数/进度/星级 元信息行
背景由 extra.board_bg 控制;菜单 → 背景 可快速切换 12 种预置渐变(需保存生效)
工具栏锁定 / 筛选(快捷键 F)/ 菜单 / GUI 编辑 / Edit Post / ReDeplog / 映射说明
筛选关键词 + 标签 + 截止状态(已逾期/即将到期/无截止)+ 最低优先级 + 隐藏已完成;列计数显示 可见/总数
列头部 = 列名 + 计数 + ⋯ 菜单(添加卡片 / 排序 / 重命名 / 删除列);解锁后可拖拽列头调整顺序
卡片正面标签药丸(带文字)· 封面(@bg + @cover)· 完成圆圈(@due 时显示,切换 @done)· 置顶 📌 徽标(@pin)· 徽标行(描述/开始/截止/清单进度/优先级)
截止徽标按 Trello 色义:灰色(未到)· 黄(今天/即将到期)· 红(逾期)· 粉(逾期超 1 天)· 绿(已完成)
菜单抽屉关于此看板(进度条)· 背景色板 · 搜索卡片(回车进入筛选)· 更多(GUI 编辑 / 保存 / ReDeplog / 映射说明)
快捷添加解锁后每列底部「+ 添加卡片」、看板右侧「+ 添加列表」,回车即插入(保存走 Edit Post)

以上所有本地修改都会提示“有未保存的本地修改”,统一通过 Edit Post 序列化保存。


GUI 编辑器(新建 / 修改看板)

除了直接编写 Markdown,看板提供 GUI 方式生成 / 修改:按「看板图标 / 指令的可选值」用下拉框或手动输入设置,自动生成 Markdown。

布局(Trello 风格:画布 + 检查器)

入口

位置按钮模式
列表页 /kanban/ 页头+ 新建看板(管理员可见;Mac-Chrome 浏览器也可见)新建:默认 今日 → 今日(单天,按当前时间预选 上午/下午/晚上)+ 六列(待办 / 进行中 / 已完成 / 进度 / 资源 / 目标)
列表页每张周卡片✎ 编辑(管理员可见)修改:读取该周已有 Markdown 载入表单
明细页工具栏(解锁后)GUI 编辑修改:读取当前看板载入表单

字段与指令对应(每个“图标“的可选值)

表单字段生成指令输入方式
开始日期@start YYYY-MM-DD日期下拉(默认按创建时间=今日填充,限 [week_start, week_end])
截止日期@due YYYY-MM-DD日期下拉(默认按创建时间=今日填充,限 [week_start, week_end])
重要等级@priority 1–5下拉(1–5 星 / 无)
目标类型@goal complete / risk下拉(完成效果 / 未完成后果 / 无)
颜色标签@labels red, blue, …预设色块多选 + 手输自定义(#RRGGBB 或颜色名,逗号分隔)
背景封面色@bg预设色名下拉 + 自定义色值手输 + 实时色块(Trello 封面)
封面尺寸@cover下拉(默认半封面 / 全封面)
顶栏色@top预设色名下拉 + 自定义色值手输 + 实时色块
完成状态@done复选框
置顶@pin卡片面板「置顶 / 解除置顶」按钮;同一列表可多卡片置顶
勾选清单- [ ] / - [x]逐行添加:勾选状态 + 文本
描述正文其余 Markdown多行文本
列# 列名 + @sort / @sort-order画布添加/删除 + 检查器列名/排序
周起止 / 核心任务 / 星级Front Matter日期 / 文本 / 下拉
看板背景 / 收藏Front Matter背景色板 / 复选框
时段 periodFront Matter(单天命名)下拉:无 / 上午 / 下午 / 晚上

默认新建布局

待办    进行中    已完成    进度        ← 主流程列(竖向一排)
资源    目标                             ← 底部并排一行

生成 → 剪贴板 → 创建 / 修改流程

  1. 填写表单,右侧 Markdown 预览实时更新(也可点「仅复制 Markdown」)。
  2. 点 生成并复制到剪贴板:
    • 自动将序列化后的 Markdown 复制到剪贴板;
    • 弹出操作流程提示,明确区分 创建 还是 修改:
      • 创建(content/kanban/<周>.md 不存在):打开 Codeberg 新建文件 → 粘贴 → 保存提交 → ReDeplog 部署 → 刷新列表;
      • 修改(文件已存在 / 编辑已有看板):打开 Codeberg 覆盖文件 → 全选替换 → 保存提交 → ReDeplog 部署 → 刷新列表。
  3. 若浏览器已保存 kanbanToken,可点 用 Token 直接同步到仓库(文件不存在走 POST 创建,存在走 PUT 覆盖),再打开 ReDeplog 部署。

相关文件

文件作用
templates/partials/kanban_editor.html编辑器模态框(列表页 / 明细页共用)
static/js/kanban-editor.js表单生成、字段映射、序列化、剪贴板复制、流程提示、Token 同步

列表页进度色

仅「待办 / 进行中 / 已完成」三列参与进度;「资源 / 目标」不参与。

背景色规则

条件卡片背景
todo > 3全红 #FFEBEE
done == total 且 total > 0浅绿 #E8F5E9
其余按加权进度百分比渐变(红 → 黄 → 绿)

加权进度公式

以 50% 为基准,逐卡片累加(标签数 n 为权重,无标签时 n = 1):

所在列单项贡献
待办−10% × n
进行中+5% × n
已完成+15% × n

例:进行中列卡片有 2 个 @labels → +5% × 2 = +10%。

结果 clamp 至 0–100%,写入 front matter stats.progress_pct。

列表页标题显示 core_tasks(非日期);元信息行含开始 / 截止 / 剩余天数 / 星级(importance 字段,1–5)。


相关文件

文件作用
content/kanban/看板 Markdown 唯一维护目录
static/js/kanban-rules.js解析 / 序列化规则引擎
static/js/kanban-board.js看板 UI、锁定、拖拽、Edit Post 缓冲写入
static/js/kanban-list.js列表页剩余天数、动态刷新进度
static/js/kanban-editor.jsGUI 编辑器:表单生成、剪贴板复制、创建 / 修改流程提示
templates/partials/kanban_editor.html编辑器模态框
content/kanban/_edit-buffer.mdEdit Post 前的 Markdown 缓冲文件
templates/kanban.html周计划明细(Trello 风格)
templates/kanban_list.html周计划列表

示例看板:content/kanban/2026-06-16.md