分享一个思源笔记模板功能的高级用法——工作周日报模板

本文分享一个方便的周日报模板,自动生成每周一到周五日期对应的标题(生成日期都是全自动的,范围可自定义)。用法很灵活啦,我个人的用法是弄一个文件夹,每周一上班的时候,新建一个文档,作为一个类似 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 变量方便的更改。

样例:

image.png

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

image.png

  • 思源笔记使用心得
    81 引用 • 322 回帖 • 10 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    148 引用 • 1231 回帖 • 248 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    473 引用 • 1372 回帖 • 598 关注
1 操作
ttimasdf 在 2021-09-22 14:33:51 更新了该帖

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • Achuan-2
    订阅者

    .action{/* 用斜杠和星号括起来的内容是注释 */} 学习了

  • superld
    订阅者

    挺好的,不过要有对应的周模板,把标记重点工作提取出来,列出来作为周报就更好了。