嵌入内容块
概述
嵌入内容块主要用于汇总所需内容块,通过 {{ 和 }} 将 SQL 脚本包裹起来并独占一行:{{ SELECT * FROM blocks WHERE content LIKE ‘%关键字%’ }},数据库表请参考这里。内容块/嵌入
示例
- 查询内容中包含 内容块 的列表项:
- 查询内容中同时包含 内容块 和 引用 段落块:
- 查询内容中同时包含 内容块 和 嵌入 的标题块并按更新时间降序结果取前 2 条:
案例一
查询同时包含 在思源中 和 核心概念 文本的段落块,并排除当前文档(否则当段落块也会包含到结果集中,因为当前段落同样包含了这两个文本,下面的案例类似):
“SELECT * FROM blocks WHERE content LIKE ‘%在思源中%’ AND content LIKE ‘%核心概念%’ AND hpath NOT LIKE ‘%嵌入内容块%‘“
案例二
查询同时包含标签 #内容块/嵌入# 和 #内容块/引用# 的段落块:
“SELECT * FROM blocks WHERE (content LIKE ’%#内容块/嵌入#%’ OR content LIKE ’%#内容块/引用#%’) AND hpath NOT LIKE ‘%嵌入内容块%‘“
案例三
有时候我们可能需要随机漫游显示内容块,以方便回顾。
“SELECT * FROM blocks ORDER BY random() LIMIT 3”
案例四
查询未完成的任务列表项,这里需要使用 markdown 字段而不是 content 字段:
“SELECT * FROM blocks WHERE markdown LIKE ’%[ ]%’ AND subtype = ‘t’ AND type = ‘i’”