思源笔记社区正在搭建中,现邀您共建
SiYuan Community is under construction. Join us to co-build.
.md 后缀文件,存放在工作空间 data/templates 文件夹下。.action{action}(而不是 {{action}})。.action{now | date "2006-01-02 15:04:05"} 来渲染当前时间,更多用法请参考 Sprig 帮助文档(中文版)。yyyy-MM-dd HH:mm:ss,而是使用 2006-01-02 15:04:05 这个固定时间格式(知乎讨论)。title:该变量用于插入当前文档名。比如模板内容为 # .action{.title},则调用后会以一级标题语法插入到当前文档内容中id:该变量用于插入当前文档 IDname:该变量用于插入当前文档命名alias:该变量用于插入当前文档别名getHPathByID:该函数用于返回块 ID 对应块的可读路径queryBlocks:该函数用于查询数据库,返回值为 blocks 列表.action{$today := now | date "20060102150405"}
.action{$blocks := queryBlocks "SELECT * FROM blocks WHERE content LIKE '?' AND updated > '?' LIMIT ?" "%foo%" $today "3"}getBlock:该函数用于根据块 ID 查询数据库,返回值为 block.action{getBlock "20250331162928-53comqi"}querySpans:该函数用于查询数据库,返回值为 spans 列表 .action{querySpans "SELECT * FROM spans LIMIT ?" "3"}querySQL:该函数用于查询数据库,返回值为结果集 .action{querySQL "SELECT * FROM refs LIMIT 3"}statBlock:该函数用于统计块内容.action{ (statBlock .id).RuneCount} .action{ (statBlock .id).WordCount}runeCount:该函数用于返回字符串中的字符数wordCount:该函数用于返回字符串中的字数parseTime:该函数用于将时间格式的字符串解析为 time.Time 类型,以便使用更多格式化方法渲染该时间Weekday:该函数用于返回周几 Sunday=0, Monday=1, ..., Saturday=6WeekdayCN:该函数用于返回周几 Sunday=日, Monday=一, ..., Saturday=六WeekdayCN2:该函数用于返回周几 Sunday=天, Monday=一, ..., Saturday=六ISOWeek:该函数用于返回第几周pow:指数计算,返回整数powf:指数计算,返回浮点数log:对数计算,返回整数logf:对数计算,返回浮点数.action{$before := (div (now.Sub (toDate "2006-01-02" "2020-02-19")).Hours 24)}
.action{$after := (div ((toDate "2006-01-02" "2048-02-19").Sub now).Hours 24)}
今天是 `.action{now | date "2006-01-02"}`。
* 距离 `2020-02-19` 已经过去 `.action{$before}` 天
* 距离 `2048-02-19` 还剩 `.action{$after}` 天$before 和 $after 定义了两个变量,分别记录当前日期距离 2020 年和 2048 年的天数。