搬运自https://ld246.com/article/1632290709613

    本文分享一个方便的周日报模板,自动生成每周一到周五日期对应的标题(生成日期都是全自动的,范围可自定义)。用法很灵活啦,我个人的用法是弄一个文件夹,每周一上班的时候,新建一个文档,作为一个类似 flomo 的速记空间,方便每周回顾与碎片化知识的快速归集与整理。

    1. .action{/* 用斜杠和星号括起来的内容是注释 */}
    2. .action{/* 调用模板前,也可以通过标题写入 `YYYY-mm-dd` 格式的日期,手动指定起始日期,记得年月日前面要加 0。 */}
    3. .action{ $startdate := toDate "2006-01-02" .title }
    4. .action{ if max ($startdate | unixEpoch) 0 }.action{ else }.action{ $startdate = now }.action{ end }
    5. .action{/* weekdayliteral 用于将星期几数字转换为字符串表示(1~7) */}
    6. .action{ $weekdayliteral := list "周零" "周一" "周二" "周三" "周四" "周五" "周六" "周日" }
    7. .action{/* weekday:获取今天周几(Mon~Sun) */}
    8. .action{ $weekday := $startdate | date "Mon" }
    9. .action{/* weekdays:存储后面生成的星期几字符串列表 */}
    10. .action{ $weekdays := list }
    11. .action{/* day:临时变量,用于循环递增时计算日期偏移量 */}
    12. .action{ $day := 0 }
    13. .action{/* 根据weekday变量内容决定输出星期几的字符串,例如想让模板生成周一到周日,可改成 (list 1 2 3 4 5 6 7) */}
    14. .action{ if contains "Mon" $weekday } .action{ $weekdays = (list 1 2 3 4 5) }
    15. .action{ else if contains "Tue" $weekday } .action{ $weekdays = (list 2 3 4 5 6) }
    16. .action{ else if contains "Wed" $weekday } .action{ $weekdays = (list 3 4 5 6 7) }
    17. .action{ else if contains "Thu" $weekday } .action{ $weekdays = (list 4 5 6 7 1) }
    18. .action{ else if contains "Fri" $weekday } .action{ $weekdays = (list 5 6 7 1 2) }
    19. .action{ else if contains "Sat" $weekday } .action{ $weekdays = (list 6 7 1 2 3) }
    20. .action{ else if contains "Sun" $weekday } .action{ $weekdays = (list 7 1 2 3 4) }
    21. .action{ end }
    22. .action{ $startdate | date "2006-01-02" }~.action{ $startdate | date_modify "+96h" | date "02" } 周日报
    23. .action{/* 这里的文字内容都可以随意自定义 */}
    24. 每周流水账汇总。OA 平台: [Google](https://www.google.com/)
    25. .action{/* 循环遍历 weekdays */}
    26. .action{ range $weekdays }
    27. .action{/* 用 $day * 24 获取时间偏移,加到 $startdate 上获取当日日期 */}
    28. .action{ $currentdate := $startdate | date_modify (printf "+%dh" (mul $day 24)) }
    29. # .action{ $currentdate | date "01 月 02 日" } .action{ index $weekdayliteral . }
    30. .action{/* ++day */}
    31. .action{ $day = add1 $day }
    32. TODO
    33. .action{ end }

    当然说是流水帐也没啥问题哈哈。

    比如今天是周三,模板就会生成周三到周日的标题列表。也可以通过在调用模板前,在标题写入 YYYY-mm-dd 格式手动指定起始日期,记得年月日前面要加 0。

    其他生成逻辑可以通过模板中的 $weekdays 变量方便的更改。

    样例:

    【模板】工作周日报模板 - 图1

    在标题里写好起始日期后,调用模板:

    【模板】工作周日报模板 - 图2