模板片段

type
status
date
slug
summary
tags
category
icon
password
模板片段用于在光标插入符位置快速插入之前设置好的文本内容,支持变量
模板片段使用 .md 后缀文件,存放在工作空间 data/templates 文件夹下。

调用模板

在光标插入符位置,通过 / 选择模板来触发模板搜索,找到需要插入的模板后回车即可。
 
示例:
  1. 首先我们从集市下载一个模板,作为示例。
  1. 在光标处输入 / 选择模板,找到需要插入的模板后回车即可。
 

编写模板

模板使用的是 Go 编程语言的文本模板进行实现,如果你对此有了解的话,可以实现一些程序逻辑在里面,比如比较逻辑、迭代逻辑等。另外,为了避免语法冲突,模板语法使用 .action{action}(而不是 {{action}}
 
我们通过开源项目 Sprig 内置了一些变量和函数来丰富模板。比如可通过 .action{now | date "2006-01-02 15:04:05"} 来渲染当前时间,更多用法请参考 Sprig 帮助文档中文版)。
 
关于日期时间格式化有个细节需要注意:
⚠️
注意:
Go 编程语言的格式化比较特殊:不是使用 yyyy-MM-dd HH:mm:ss,而是使用 2006-01-02 15:04:05 这个固定时间格式(知乎讨论
 
示例:
  • .action{now | date "2006-01-02 15:04:05"} 渲染 yyyy-MM-dd HH:mm:ss 例如 2024-08-01 09:50:31
  • .action{now | date "2006-01-02"} 渲染 yyyy-MM-dd 例如 2024-08-01
  • .action{now | date "2006-01"} 渲染 yyyy-MM 例如 2024-08
  • .action{now | date "2006"} 渲染 yyyy 例如 2024
 
除了 Sprig 内置的变量和函数,还支持如下变量和函数:
  • title​:该变量用于插入当前文档名。比如模板内容为 # .action{.title}​,则调用后会以一级标题语法插入到当前文档内容中
  • id​:该变量用于插入当前文档 ID
  • name​:该变量用于插入当前文档命名
  • alias​:该变量用于插入当前文档别名
  • queryBlocks​:该函数用于查询数据库,返回值为 blocks 列表,请参考下面的例子
  • querySpans​:该函数用于查询数据库,返回值为 spans 列表,请参考下面的例子
  • parseTime​:该函数用于将时间格式的字符串解析为 time.Time​ 类型,以便使用更多格式化方法渲染该时间
  • Weekday​:该函数用于返回周几 Sunday=0, Monday=1, ..., Saturday=6
  • WeekdayCN​:该函数用于返回周几 Sunday=日, Monday=一, ..., Saturday=六
  • WeekdayCN2​:该函数用于返回周几 Sunday=天, Monday=一, ..., Saturday=六
  • ISOWeek​:该函数用于返回第几周
  • pow​:指数计算,返回整数
  • powf​:指数计算,返回浮点数
  • log​:对数计算,返回整数
  • logf​:对数计算,返回浮点数
 
queryBlocksquerySpans 支持类似 SQL 预编译语句的变参列表,方便传入参数:
 
 

一个示例

$before$after 定义了两个变量,分别记录当前日期距离 2020 年和 2048 年的天数。
 

示例 01 - 四象限

notion image

示例 02 - 日计划

notion image
 
💡
更多的模板请到 集市 或 论坛中查找

上架模板集市

请参考社区集市仓库
 
上一篇
内核参数
下一篇
窗口和页签
Loading...

思源笔记用户指南

文章列表
思源笔记用户指南
🍼新手引导
✏️基础操作
⛓️基础块
🧬高级块
📊数据库
🔡代码片段
🔍搜索进阶
🚀高级操作
💎会员特权
💠功能特性
🖼️主题推荐
🔌常用插件
💬交流区