-
[js] 发布时只显示单篇文档 _release_v1.0
2025-06-20 11:05最新版 20250619 已经上传到 git 上, 自行食用
改动
隐藏上下左右栏的图标, 改为 直接隐藏上下左右栏, 也就是说, 不支持控制大纲和文档树是否显示
发布单篇: 只会 且 强制 显示大纲
发布单篇及以下: 只会 且 强制 显示文档树和大纲
-
[js] 发布时只显示单篇文档 _release_v1.0
2025-06-20 10:53我这个标题, 看起来跟你说的没啥区别呀 "发布时只显示单篇文档"
指定文档是可以搞得, 改起来也比较简单, 但是操作起来可能不太方便
比如: 如何批量获取文档 id, 我不想为了指定多个文档特意加一个批量获取 id, 因为我平时也用不到发布功能, 更别说指定多个文档了
总结一个字, 懒的搞
-
能不能先把编辑器的基础功能体验优化好
2025-06-18 16:13前两个点看起来跟 大纲 很像啊, 要不试下大纲?
第三点
思源的 工具栏和右键菜单在我看来是两个东西
工具栏操作的是, 一个块里面的某些内容
右键菜单操作的是, 这个块
应该无法将右键菜单的内容挪到工具栏, 即使真的可以, 效果也不会太好
-
请问一下将文章切换到全屏后文章整体宽度非常宽,不利于阅读,请问如何调整它?
2025-06-05 14:53试下这个, 66 越大边距越宽
div.protyle-wysiwyg.protyle-wysiwyg--attr { padding-left: 66px !important; padding-right: 66px !important; }
-
调了几天,终于舒服了
2025-05-31 00:25个人感觉思源有很多小点需要优化一下。
但是思源要做的事情太多了,很多小点也是众口难调,就不会有人改,
我已经看开了,能自己改的就自己改,不能的就凑合用
-
请问各位文档树的第三层级是否可以设置颜色或者线条包裹,结构更清晰
2025-05-08 18:51自己调一下颜色
.sy__file>.fn__flex-1>ul>ul>ul{background-color:red;}
-
建议在图片的右键菜单新增一个彻底删除
2025-05-08 18:46思源的图片是按照 id 来的, 两个地方使用同一个图片, 实际上 这个图片只有一份
如果有多个地方也用到了这个图片, 点某一个地方的彻底删除, 效果不管怎么样都不太合理
-
鼠标中键打开大纲
2025-04-26 11:23css 片段
/* [css片段] 多彩大纲竖线 */ :root { /* 竖线颜色 */ --vertical-line-color-1: var(--b3-font-color7); --vertical-line-color-2: var(--b3-font-color6); --vertical-line-color-3: var(--b3-font-color9); --vertical-line-color-4: var(--b3-font-color11); --vertical-line-color-5: var(--b3-font-color7); --vertical-line-color-6: var(--b3-font-color6); --vertical-line-color-7: var(--b3-font-color9); --vertical-line-color-8: var(--b3-font-color11); /* 文档缩进距离 */ --file-retract-length: 8px; /* 竖线括号没有对齐, 调这里 */ --bracket-retract-length: 4px; /* 竖线括号粗细 */ --vertical-line-bracket-width: 3px; /* 竖线括号圆角弧度 */ --bracket-border-radius: 8px; /* 折叠按钮宽度 */ --fold-button-width: 10px; } /* 大纲 */ /* 折叠按钮宽度 */ .sy__outline>.fn__flex-1>ul li>.b3-list-item__toggle { padding-left: var(--fold-button-width) !important; } /* 竖线 */ .sy__outline>.fn__flex-1>ul li { margin-bottom: -1px; border-top-left-radius: var(--bracket-border-radius); border-bottom-left-radius: var(--bracket-border-radius); } .sy__outline>.fn__flex-1>ul li:has(span:not(.fn__hidden)>svg.b3-list-item__arrow--open) { /* 有子文档的(折叠按钮没有隐藏&&打开), 下括号没有弧度 */ border-bottom-left-radius: 0px; } .sy__outline>.fn__flex-1>ul ul { padding-left: var(--file-retract-length); margin-left: var(--bracket-retract-length); border-top-left-radius: 0px; border-bottom-left-radius: var(--bracket-border-radius); } /* 竖线颜色 */ .sy__outline>.fn__flex-1>ul li:has(span), .sy__outline>.fn__flex-1>ul ul { border-left: var(--vertical-line-bracket-width) solid var(--vertical-line-color-1); } .sy__outline>.fn__flex-1>ul>ul li, .sy__outline>.fn__flex-1>ul>ul ul { border-left: var(--vertical-line-bracket-width) solid var(--vertical-line-color-2); } .sy__outline>.fn__flex-1>ul>ul>ul li, .sy__outline>.fn__flex-1>ul>ul>ul ul { border-left: var(--vertical-line-bracket-width) solid var(--vertical-line-color-3); } .sy__outline>.fn__flex-1>ul>ul>ul>ul li, .sy__outline>.fn__flex-1>ul>ul>ul>ul ul { border-left: var(--vertical-line-bracket-width) solid var(--vertical-line-color-4); } .sy__outline>.fn__flex-1>ul>ul>ul>ul>ul li, .sy__outline>.fn__flex-1>ul>ul>ul>ul>ul ul { border-left: var(--vertical-line-bracket-width) solid var(--vertical-line-color-5); } .sy__outline>.fn__flex-1>ul>ul>ul>ul>ul>ul li, .sy__outline>.fn__flex-1>ul>ul>ul>ul>ul>ul ul { border-left: var(--vertical-line-bracket-width) solid var(--vertical-line-color-6); }
-
[js] 快捷键实现在文档树上遍历
2025-04-18 09:17由于 siyuan 屏蔽了
alt+shift+左右键
的快捷键, 现在改为alt+ctrl+上下左右键
(() => { function set_file_open(now_ele, next_ele) { if (!next_ele) return if (next_ele.getAttribute('data-type') == 'navigation-root') { // 笔记本 now_ele.classList.remove("b3-list-item--focus"); next_ele.classList.add("b3-list-item--focus"); } else { // 普通文档 next_ele.click() } // console.log(next_ele) } function handle_file_navigation(now_ele, type) { if (!now_ele) return if (type == 'ArrowUp' || type == 'ArrowDown') { // 上 let ele_list = Array.from(document.querySelectorAll('div.sy__file li')) let idx = ele_list.indexOf(now_ele) if (idx == -1) return if (type == 'ArrowUp' && idx != 0) idx-- else if (type == 'ArrowDown' && idx != ele_list.length - 1) idx++ else return let next_ele = ele_list[idx] set_file_open(now_ele, next_ele) } else if (type == 'ArrowLeft') { let next_ele = now_ele.querySelector('.b3-list-item__arrow--open') if (next_ele) { // 有下层展开按钮: 折叠 next_ele.parentElement.click() } else { // 其他情况, 跳转到上层 next_ele = now_ele.parentElement.previousElementSibling if (next_ele?.tagName.toLowerCase() == 'li') { set_file_open(now_ele, next_ele) } } } else if (type == 'ArrowRight') { let next_ele = now_ele.querySelector('span.b3-list-item__toggle:not(.fn__hidden)') if (next_ele) { // 有下层展开按钮: 展开 if (next_ele.querySelector('.b3-list-item__arrow--open')) { now_ele.nextElementSibling.firstChild.click() } else { next_ele.click() } } } } setTimeout(() => document.querySelector('[data-type="focus"]')?.click(), 1000); // 事件监听 document.addEventListener('keydown', async (event) => { // 上/下, 遍历列表 // 左: 没有下层: 跳转到上层 // 有下层&下层展开: 折叠 // 有下层&下层折叠: 跳转到上层 // 右: 没有下层: 不处理 // 有下层&下层展开: 跳转到第一个子节点 // 有下层&下层折叠: 展开 if (event.altKey && event.ctrlKey && (event.key == 'ArrowUp' || event.key == 'ArrowDown' || event.key == 'ArrowLeft' || event.key == 'ArrowRight')) { let now_ele = document.querySelector('div.sy__file li.b3-list-item--focus') // console.log(now_ele) // console.log(event.key) handle_file_navigation(now_ele, event.key); } }); })()