本文分享一个方便的周日报模板,自动生成每周一到周五日期对应的标题(生成日期都是全自动的,范围可自定义)。用法很灵活啦,我个人的用法是弄一个文件夹,每周一上班的时候,新建一个文档,作为一个类似 flomo 的速记空间,方便每周回顾与碎片化知识的快速归集与整理。
.action{/* 用斜杠和星号括起来的内容是注释 */}
.action{/* 调用模板前,也可以通过标题写入 `YYYY-mm-dd` 格式的日期,手动指定起始日期,记得年月日前面要加 0。 */}
.action{ $startdate := toDate "2006-01-02" .title }
.action{ if max ($startdate | unixEpoch) 0 }.action{ else }.action{ $startdate = now }.action{ end }
.action{/* weekdayliteral 用于将星期几数字转换为字符串表示(1~7) */}
.action{ $weekdayliteral := list "周零" "周一" "周二" "周三" "周四" "周五" "周六" "周日" }
.action{/* weekday:获取今天周几(Mon~Sun) */}
.action{ $weekday := $startdate | date "Mon" }
.action{/* weekdays:存储后面生成的星期几字符串列表 */}
.action{ $weekdays := list }
.action{/* day:临时变量,用于循环递增时计算日期偏移量 */}
.action{ $day := 0 }
.action{/* 根据weekday变量内容决定输出星期几的字符串,例如想让模板生成周一到周日,可改成 (list 1 2 3 4 5 6 7) */}
.action{ if contains "Mon" $weekday } .action{ $weekdays = (list 1 2 3 4 5) }
.action{ else if contains "Tue" $weekday } .action{ $weekdays = (list 2 3 4 5 6) }
.action{ else if contains "Wed" $weekday } .action{ $weekdays = (list 3 4 5 6 7) }
.action{ else if contains "Thu" $weekday } .action{ $weekdays = (list 4 5 6 7 1) }
.action{ else if contains "Fri" $weekday } .action{ $weekdays = (list 5 6 7 1 2) }
.action{ else if contains "Sat" $weekday } .action{ $weekdays = (list 6 7 1 2 3) }
.action{ else if contains "Sun" $weekday } .action{ $weekdays = (list 7 1 2 3 4) }
.action{ end }
.action{ $startdate | date "2006-01-02" }~.action{ $startdate | date_modify "+96h" | date "02" } 周日报
.action{/* 这里的文字内容都可以随意自定义 */}
每周流水账汇总。OA 平台: [Google](https://www.google.com/)
.action{/* 循环遍历 weekdays */}
.action{ range $weekdays }
.action{/* 用 $day * 24 获取时间偏移,加到 $startdate 上获取当日日期 */}
.action{ $currentdate := $startdate | date_modify (printf "+%dh" (mul $day 24)) }
# .action{ $currentdate | date "01 月 02 日" } .action{ index $weekdayliteral . }
.action{/* ++day */}
.action{ $day = add1 $day }
TODO
.action{ end }
当然说是流水帐也没啥问题哈哈。
比如今天是周三,模板就会生成周三到周日的标题列表。也可以通过在调用模板前,在标题写入 YYYY-mm-dd
格式手动指定起始日期,记得年月日前面要加 0。
其他生成逻辑可以通过模板中的 $weekdays
变量方便的更改。
样例:
在标题里写好起始日期后,调用模板: