JS 求助 - 按更新时间排序,查询当前文档内的块

3 个 JS 语句
查标题
  1. 自动查询当前及子文档(手动填思源随机生成的文档 ID 也行)
  2. 查询该文档及子文档的所有四级标题
  3. 按更新时间排序(上新下旧)
  4. 右侧显示更新日期(可以关闭,万一觉得日期碍眼)
查段落(一)
  1. 和查标题要求一样,不过改成查段落块、表格块
    • 我不知道 JS 形式表格块能否显示,不能的话算了
  2. 不渲染图片,无论本地还是图床(显示成文本)
    • 就是类似在思源复制图片,它在剪贴板时的文本状态
  3. 查询结果数量为 10
查段落(二)倒序
  1. 查段落(一) 要求一样,不过改成倒序(上旧下新)
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    24562 引用 • 100584 回帖 • 1 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    9280 引用 • 42205 回帖 • 116 关注
4 操作
8V9q7V 在 2025-03-05 18:59:59 更新了该帖
8V9q7V 在 2025-03-05 17:25:42 更新了该帖
8V9q7V 在 2025-03-05 17:24:15 更新了该帖
8V9q7V 在 2025-03-05 17:22:10 更新了该帖

相关帖子

被采纳的回答
  • 不知是否能满足你需求,你试试看

    先安装 简单查询 js,可参考 [js] 简单查询,让数据从此不再难查,支持显示多字段多视图

    然后

    查询标题

    在文档中输入 {{}} 在对话框中输入以下代码

    //!js // 这里可以修改文档id,为空则自动获取当前文档的id let docId = '' // 是否显示更新时间,true显示, false不显示 const isShowUpdated = true; // 更新时间排序,desc由新到旧,asc由旧到新 const updatedOrder = 'desc'; // 是否包含子文档,true包含, false不包含 const isWithSubDoc = false; docId = docId || protyle.options.rootId; const updatedSql = isShowUpdated ? `, updated as 更新时间__date_w150_2` : ''; const subDocSql = isWithSubDoc ? `and path like '%/${docId}%'` : `and root_id = '${docId}'`; return query( `SELECT id as id__hide, content as 标题__ref_left_1 ${updatedSql} FROM blocks where 1=1 ${subDocSql} and type='h' and subtype='h4' order by updated ${updatedOrder};`, item );

    查询段落

    在文档中输入 {{}} 在对话框中输入以下代码

    //!js // 这里可以修改文档id,为空则自动获取当前文档的id let docId = '' // 是否显示更新时间,true显示, false不显示 const isShowUpdated = true; // 更新时间排序,desc由新到旧,asc由旧到新 const updatedOrder = 'desc'; // 是否包含子文档,true包含, false不包含 const isWithSubDoc = false; docId = docId || protyle.options.rootId; const updatedSql = isShowUpdated ? `, updated as 更新时间__date_w150_2` : ''; const subDocSql = isWithSubDoc ? `and path like '%/${docId}%'` : `and root_id = '${docId}'`; return query( `SELECT id as id__hide, content as 内容__ref_left_1 ${updatedSql} FROM blocks where 1=1 ${subDocSql} and (type='p' or type='t') and content != '' order by updated ${updatedOrder} limit 10;`, item );

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 是的,已修复,代码无需改动,只需要更新下简单查询代码即可。

    简单查询 0.0.4 修复 Lute 解析 Markdown 问题,增加单元格 cellMaxHeight 和 cellMinWidth 设置选项

    see [js] 简单查询,让数据从此不再难查,支持显示多字段多视图

    1 回复
  • 其他回帖
  • wilsons 1 2 评论

    字段筛选用 markdown 就好了,这是你想要的效果吗

    image.png

    代码

    查标题

    //!js // 这里可以修改文档id,为空则自动获取当前文档的id let docId = '' // 是否显示更新时间,true显示, false不显示 const isShowUpdated = true; // 更新时间排序,desc由新到旧,asc由旧到新 const updatedOrder = 'desc'; // 是否包含子文档,true包含, false不包含 const isWithSubDoc = false; docId = docId || protyle.options.rootId; const updatedSql = isShowUpdated ? `, updated as 更新时间__date_w150_2` : ''; const subDocSql = isWithSubDoc ? `and path like '%/${docId}%'` : `and root_id = '${docId}'`; return query( `SELECT id as id__hide, markdown as 标题__md_ref_left_1 ${updatedSql} FROM blocks where 1=1 ${subDocSql} and type='h' and subtype='h4' order by updated ${updatedOrder};`, item );

    查段落

    //!js // 这里可以修改文档id,为空则自动获取当前文档的id let docId = '' // 是否显示更新时间,true显示, false不显示 const isShowUpdated = true; // 更新时间排序,desc由新到旧,asc由旧到新 const updatedOrder = 'desc'; // 是否包含子文档,true包含, false不包含 const isWithSubDoc = false; docId = docId || protyle.options.rootId; const updatedSql = isShowUpdated ? `, updated as 更新时间__date_w150_2` : ''; const subDocSql = isWithSubDoc ? `and path like '%/${docId}%'` : `and root_id = '${docId}'`; return query( `SELECT id as id__hide, markdown as 内容__md_ref_left_1 ${updatedSql} FROM blocks where 1=1 ${subDocSql} and (type='p' or type='t') and content != '' order by updated ${updatedOrder} limit 10;`, item, '', ({ row, index, data, ...args }) => { row.内容 = row.内容.replace(/<img/ig, '<img width="25%" style="float: left;"'); } );
    2 回复
    1 操作
    wilsons 在 2025-03-08 13:25:23 更新了该回帖
    凌晨还在回复,请你吃个馒头了~
    8V9q7V 1
    ❤️ 非常感谢!
    wilsons
  • 奇怪了,默认主题,无插件,只启用 SQL 简单查询(最新版)。在我两台电脑上都解析不出来。

    20250309222829.png

    1 回复
  • 查询段落、表格能否用纯 SQL 实现呢,因为 JS 把文本样式的抹去了,表格也成了一滩,看着不得劲。

    然后,这个帖子 SQL 求教 - 在路径内、列表内随机索引单个任务项,代码片段可以指定嵌入块只显示单个任务。那代码片段可以实现指定嵌入块不渲染图片吗,或者让指定嵌入块图片宽度 25%。有这个需求是因为有些图片信息少而占位长。

    如果可以的话,需求类似

    1. 自动查询,或手动填 ID
    2. 更新时间排序
    3. 右侧日期(代码片段可以实现指定嵌入块内右侧角标处显示日期吗,不行就放弃了)
    4. 是否包含子文档
    5. 结果数量为 10
    1 回复
    2 操作
    8V9q7V 在 2025-03-07 22:33:17 更新了该回帖
    8V9q7V 在 2025-03-07 22:25:28 更新了该回帖
  • 查看全部回帖