思源笔记自动生成文档目录的方法汇总

插入模板法

从集市里下载模板:Normal,里面有两种目录模板,一种是只链接,一种是块引用。

在上级页面中插入模板,选择5级目录链接,就会自动生成下级页面的目录链接,这种只是文档链接siyuan:方式;选择

5级目录块的方式,会自动生成一个块引用的页面,链接是ID的方式,鼠标到链接上就可以浮窗显示。

缺点是,无法动态生成,目录生成后,如果再添加新页面,而目录无法自动更新。解决方法是:删除老的目录链接,插入模板,再次生成目录。

这个方法最简单。

Quicker生成自动刷新目录

此方法较复杂。

html 内容块:其中 toc_block_id 为你自己复制的块 id,quicker uri 为你自己的 quicker uri(只修改问号前面的)

<html>
<div style="font-size:20px;color:red">文档目录</div>
<script>
toc_block_id = '20220504160026-78y7iij';//提示:复制内容块id(除html块的任意一个内容块的id)到toc_block_id 参数中
quicker_uri = 'quicker:runaction:6639ef99-e748-4726-b992-b58394c8351a'+ '?' + toc_block_id;
location.href = quicker_uri;
</script>
</html>

此方法的缺点:需要开通思源笔记的会员才能使用,其次需要安装及注册Quicker。

使用 Query 挂件生成自动更新的子文档目录

此方法简单。

简介

挂件 Query 在 v0.3.2 中又更新的一个小功能:

  • 功能介绍
    • 该需要使用点选自动查询复选框启用
      • 启用该功能后在该挂件所在页面下次加载完成后自动进行一次查询

演示

思源笔记功能示范 18.gif

使用

查询当前文档的子文档

SELECT
    '[' || b.content || '](siyuan://blocks/' || b.id || ')' AS __1____pre__文档标题,
    b.updated AS __2____datetime__更新时间,
    b.created AS __3____date__创建日期
FROM
    blocks AS b
WHERE
    b.type = 'd'
    AND b.path LIKE '%/.block{.root_id}/______________-_______.sy'
ORDER BY
    b.updated DESC

查询当前文档指定子文档的下级文档

SELECT
    '[' || b.content || '](siyuan://blocks/' || b.id || ')' AS __1____pre__文档标题,
    b.updated AS __2____datetime__更新时间,
    b.created AS __3____date__创建日期
FROM
    blocks AS b
WHERE
    b.type = 'd'
    AND b.hpath LIKE '.block{.hpath}/<子文档标题>/%'
    AND b.path LIKE '%/.block{.root_id}/______________-_______/______________-_______.sy'
ORDER BY
    b.updated DESC
  • <子文档标题> 替换为想要查询的子文档名

汇总当日更新的文档

SELECT
    '[' || b.content || '](siyuan://blocks/' || b.id || ')' AS __1____pre__文档标题,
    CASE
        WHEN b.updated != '' THEN b.updated
        ELSE b.created
    END AS __2____time__更新时间,
    '[' || b.hpath || '](siyuan://blocks/' || b.id || ')' AS __3____pre__文档路径
FROM
    blocks AS b
WHERE
    b.type = 'd'
    AND (
        b.updated > strftime(
            '%Y%m%d%H%M%S',
            'now',
            'localtime',
            'start of day'
        )
        OR b.created > strftime(
            '%Y%m%d%H%M%S',
            'now',
            'localtime',
            'start of day'
        )
    )
ORDER BY
    __2____time__更新时间 DESC;

您可能也喜欢

发表回复

微信扫一扫,分享到朋友圈

思源笔记自动生成文档目录的方法汇总
返回顶部

显示

忘记密码?

显示

显示

获取验证码

Close