-
JS 求助 - 按更新时间排序,查询当前文档内的块
2025-03-09 21:14是的,已修复,代码无需改动,只需要更新下简单查询代码即可。
简单查询 0.0.4 修复 Lute 解析 Markdown 问题,增加单元格 cellMaxHeight 和 cellMinWidth 设置选项
-
[js] 文档树文档置顶和设置颜色 [0.0.8 完美版]
2025-03-09 13:16抛砖引玉,分享一个颜色方案。
{ "default": { "light": { "draft": { "style": "color:#FF9800;font-weight:bold;", "description": "草稿" }, "archived": { "style": "color:#9E9E9E;font-weight:bold;", "description": "存档" }, "published": { "style": "color:#4CAF50;font-weight:bold;", "description": "已发布" }, "deleted": { "style": "color:#F44336;font-weight:bold;", "description": "删除" }, "being_edited": { "style": "color:#9C27B0;font-weight:bold;", "description": "修改中" }, "scheduled": { "style": "color:#2196F3;font-weight:bold;", "description": "待发布" } }, "dark": { "draft": { "style": "color:#FFB300;font-weight:bold;", "description": "草稿" }, "archived": { "style": "color:#B0BEC5;font-weight:bold;", "description": "存档" }, "published": { "style": "color:#66BB6A;font-weight:bold;", "description": "已发布" }, "deleted": { "style": "color:#FF5252;font-weight:bold;", "description": "删除" }, "being_edited": { "style": "color:#AB47BC;font-weight:bold;", "description": "修改中" }, "scheduled": { "style": "color:#29B6F6;font-weight:bold;", "description": "待发布" } } } }
-
[js] 给笔记本添加文档数
2025-03-09 08:14感谢反馈!
这两个功能暂时不支持,考虑到性能问题,实现起来较为复杂,暂时不折腾了。
笔记本每小时会更新一次文档数,如果要实时查看,可以鼠标移上去显示提示子文档数。
文件夹则右键”显示文档数“则会自动更新文档数。
-
[js] 文档树文档置顶和设置颜色 [0.0.8 完美版]
2025-03-08 22:47感觉这个主题仅适用于特定主题的暗色风格,不适用于其他主题或明色风格
所以,我打算按照这种格式设计,即主题 > 明/暗 > 列表,自定义主题会和 default 主题合并,相同的自定义的覆盖默认的。
let colors = { "default": { "light": { }, "dark", { "orangeRed": { style: "color:#e6194B", description: "NOW" }, "yellow": { style: "color:#ffe119", description: "重要" }, "teal": { style: "color:#469990", description: "完成" }, "blueDark": { style: "color:#87CEEB", description: "TODO" }, "gray": { style: "color:#778899", description: "PASS" }, "pink": { style: "color:#fabed4", description: "喜欢" }, "orange": { style: "color:#f58231", description: "特别" } } } };
不知道哪位大神能帮忙设计一个好看的思源官方默认主题的明暗色系?如果没有,我只能按照自己的喜好,随便设计一个了。
并且,这个默认配置在第一次运行时会保存到 /data/storage/tree_colors_user_config.json 文件中,以后只需要修改和分享这个文件即可,这样好处时,用户自定义配置,不受代码片段升级的影响。
-
JS 求助 - 按更新时间排序,查询当前文档内的块
2025-03-08 18:35- 查标题查不到内容,是因为 //!js 前有空行,//!js 必须放到第一行
- 查段落,其他几点已解决。第 2 点,即文字添加颜色后的渲染问题,这个是思源 Lute 解析问题,暂时解决不了。可关注 issue Issue #14310 · siyuan-note/siyuan
- 纯 SQL 查询,由于需求复杂无法实现
新代码:
查标题
//!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, '', ({ row, index, data, ...args }) => { row.标题_style = (row.标题_style || '') + ';max-height:none;'; row.更新时间_style = (row.更新时间_style || '') + ';max-height:none;'; } );
查段落
//!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.内容_style = (row.内容_style || '') + ';max-height:none;'; row.更新时间_style = (row.更新时间_style || '') + ';max-height:none;'; row.内容 = row.内容.replace(/<img/ig, '<img width="25%" style="float: left;"'); row.内容 = row.内容.replace(/<span class="img__net">.*?<\/span>/ig, ''); } );
-
[js] 文档树文档置顶和设置颜色 [0.0.8 完美版]
2025-03-08 14:40你用最新版 0.0.3 试试。
你的思源版本是多少?我 v3.1.10 和 v3.1.19 都没这个问题
还有,你的主题是什么?也可能是主题的问题,我都是在默认主题下测试的。
刚才测试了这几个主题也是正常的,最好在新空间测试看看,排除干扰项。
-
JS 求助 - 按更新时间排序,查询当前文档内的块
2025-03-08 00:53字段筛选用 markdown 就好了,这是你想要的效果吗
代码
查标题
//!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;"'); } );
-
QueryView 分享 | 查看所有的 Tag
2025-03-07 23:47借贵贴我也分享个标签矩阵树图
代码 (使用该代码必须先添加简单查询 js 代码片段 [js] 简单查询,让数据从此不再难查,支持显示多字段多视图 )
//!js return query( ` SELECT id,root_id,tag,type,content FROM blocks where tag <> '' `, // item, 固定不变,❗️勿动,代表本嵌入块对象 item, '', ({ row, index, data, options, toLink, toRef, formatDateTime, renderListView, toMdLink, ...args }) => { const datas = {}; data.forEach(item => { const tags = item.tag.split(" "); tags.forEach(tag => { if (!datas[tag]) datas[tag] = []; datas[tag].push(item.type === 'd' ? item.id : item.root_id); datas[tag] = [...new Set(datas[tag])]; }); }); const optionData = Object.entries(datas).map(([name, value]) => ({ name: name+" "+value.length, value: value.length })); return args.renderChartView({ title: { text: '标签文档数量矩阵图' }, series: { type: 'treemap', itemStyle: { color: 'rgba(109, 40, 40, 1)', borderWidth: 2, borderColor: 'rgba(255, 255, 0, 0)', }, data: optionData }, type: 'basicTreemap', }, item); } );
-
请问如何设置悬浮窗的最小高度和宽度呢
2025-03-07 15:25.block__popover { min-width: 1000px; /*可根据需要调整*/ min-height: 500px; /*可根据需要调整*/ }
-
utools 一键添加灵感到思源笔记
2025-03-07 13:12/api/block/insertBlock
这个接口是块插入,如果嵌套块,父 id 是上级块,如果是顶级块,即没有上级的块了,父 id 不就是文档 id 了吗 -
JS 求助 - 按更新时间排序,查询当前文档内的块
2025-03-05 21:23不知是否能满足你需求,你试试看
先安装 简单查询 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 );
-
“退出聚焦”这四个字体上下间距不同,怎么调整,看起来难受
2025-03-05 17:00可以用这个 css 选择器,根据需要调整
button[data-type="exit-focus"] { padding: 5px 10px; }
-
Bookmark+ 插件中 SQL 语法怎么写在某一文档中没被引用的文档
2025-03-04 12:46试试这个
select * from blocks where path like '%/20250128095334-2lz30ur%' and type = 'd' and root_id not in ( select distinct root_id from blocks where path like '%/20250128095334-2lz30ur%' and type != 'd' and content != '' )
如果不包含父文档本身,可以 sql 最后添加 and root_id != '20250128095334-2lz30ur'
-
Bookmark+ 插件中 SQL 语法怎么写在某一文档中没被引用的文档
2025-03-04 07:48无引用的可能不在 refs 表中,可以试试 select * from blocks where id not in (select def_block_id from refs ....)
-
同步感知只有官方同步才有吗?
2025-03-04 07:44可以试试 白嫖党的福利,js 片段实现同步感知
0.0.6 改进仅当有两个及以上客户端同时在线时才同步,避免产生多余的同步快照 @CongSec
-
[js][css] 提取写味主题列表转表格导图看板功能
2025-03-04 07:40这个和该代码无法,是思源导出的问题。目前无法解决。
不过,可以在导出页面手动打开 devtools,然后去掉
.protyle-wysiwyg
的 overflow:auto 样式来解决 -
[js][css] 斜杠菜单,导航栏,状态栏,文档树美化和增强
2025-02-18 02:47试试把第一行和最后一行删除
即删除
@media screen and (min-width: 1292px) {
和最后一行的}
-
推荐一个好用的 AI app
2025-02-06 19:45最近又发现薅羊毛方法 2
通过千帆免费 deepseek api 然后配合 quicker 动作 [quicker] 问 AI,随时随地问 AI 或其他客户端
https://console.bce.baidu.com/qianfan/modelcenter/model/buildIn/list 千帆模型列表