思源笔记模板传参——通过 sql

模板一直有一个痛点就是没办法传参,通过利用思源的 go 模板自带的 SQL 查询实现传参。

废话不多说。

实现方法

.action{$docid:=.id}
.action{$block:= (queryBlocks "select * from blocks where type = 'h' and root_id = '?' ORDER BY updated DESC LIMIT 1" $docid)} 
.action{$v:=(index $block 0)}
.action{$v.Content}

代码解释

  1. 获取文档 id
  2. 查询最近一个插入的在本文档的标题块
  3. 将列表转换为参数
  4. 获取 content 并输出

用法

将代码复制到思源模板,$v.Content 就是传入的参数。

应用

写在最后

$v 的属性可以在帮助文档中查询。

如果想传入多个参数的话可以用空格或者","分割然后利用 go 模板分割。

可以继续使用获得的参数进行 sql 查询来获取想要的信息

模板的计算是一次性的,所以更改标题不会更改已经插入的内容。好处是即使删除用来传参的标题也不会影响模板插入过的内容;坏处是无法动态改变参数,如果需要改变参数则需要重新插入。

希望大佬可以写出有用的插件。

广告 我要投放

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...