-
如何让右键菜单跟随右键位置
2024-08-24 17:13我用的不是 remove, 是 display none
人工智能,聚焦,聚焦到上层, 微信提醒, 快速制卡,添加到数据库, 跳转到父块的下一个块, 跳转到父块的上一个块, 跳转到父块, 宽度, 闪卡, 开始录音, 网络图片转换为本地图片, 网络资源文件转换本地, 上传资源文件到图床, 分享到社区,优化排版, 全屏切换, 面板, 布局, 锁屏
-
如何让右键菜单跟随右键位置
2024-08-24 14:08我发现原因了, 插件默认是第一个 DOMNodeInserted, 但是我平时调试 js 会看到 warn 日志, 所以我就改成了第二个, 第二个就会有这种问题, 第一个就没有
-
框选 代码块 会错误选中别的块
2024-08-23 08:46前两个应该是特性, 不是 bug
- 一个代码块是一个块(你那个四行代码属于一个块)
- 在跨块选择的时候, 会自动选择一整个块
所以你选到下方边缘或者出块的时候, 会自动选择整个代码块
-
求助如何设置编辑区大小的代码段
2024-08-20 08:59这是我现在用的
/* 修改 文档内容->页面边距(66) */ div.protyle-wysiwyg.protyle-wysiwyg--attr {padding:16px 66px 282px!important;}
-
思源的星号 * 很难打出来!
2024-08-18 21:49完全赞同, 我转思源的很大原因就是因为他有插件, 有代码片段, 而代码片段可以解决我 90% 的额外需求
我现在就是有需求直接自己搞, 哪怕用最蠢的代码, 只要能解决我的需求, 就可以接受
-
我在文档树选择文件,然后按复制副本的快捷键,没有任何反应,因为一旦选择了文件这个时候激活的是文档的窗口,所以永远也用不了文档树选中文件后的快捷键
2024-08-16 20:50奇怪,
ctrl + 点击
不是多选么, 怎么选择单个文档, 我这里默认就会选中一个文档,ctrl + 点击
就会选中两个, 类似与这样快捷键显示不显示的问题, 是因为 我最开始没找到怎么通过快捷键复制副本, 所以才有那个疑惑, 后来发现可以, 就忘记删掉了
-
插入图片希望添加快捷键
2024-08-16 20:43我简单写了一个 js 片段, 不知道能否符合你的要求
// 增加按钮&快捷键实现: 插入图片或文件 // 修改有标记的配置 "[可修改]" (async () => { /*******************************自定义配置**************************************/ // 按钮id const btn_e = { /***********左上角**********/ // 返回按钮(左箭头) barBack : "barBack", // 前进按钮(右箭头) barForward : "barForward", // 同步按钮 barSync : "barSync", // 皇冠图标 toolbarVIP : "toolbarVIP", // 日历热力图插件 heatmap : "plugin_Calendar-heatmap_0", /***********右上角**********/ // 搜索按钮 barSearch : "barSearch", // 插件按钮 barPlugins : "barPlugins", // 命令面板按钮 barCommand : "barCommand", /***********左下角**********/ // 底栏中的隐藏侧栏按钮 barDock : "barDock", /***********右下角**********/ // 底栏帮助按钮 statusHelp : "statusHelp", } // 插入位置 const position_e = { // 插入位置: 目标元素前面 before : "beforebegin", // 插入位置: 目标元素后面 after : "afterend", } // [可修改] 触发快捷键 const hotkey = "ctrl+alt+g" // [可修改] 按钮 插入的位置 跟 哪个元素 有关 const btn_basic_id = btn_e.barForward // [可修改] 按钮 插入到 元素 的前面还是后面 const btn_post = position_e.after // [可修改] 按钮 的悬浮显示内容 const btn_tips = "插入图片或文件" /*******************************代码分割线**************************************/ const icon_e = { // 设置 setting : "iconSettings", // 代码 code : "iconCode", // 刷新 refresh : "iconRefresh", // 调试 debug : "iconBug", // 下方 after : "iconAfter", // 下载 download : "iconDownload", } // 快捷键监听 document.addEventListener('keydown', event => { console.log("hotkey") if (checkShortcut(hotkey, event)) { // 阻止默认行为,比如浏览器的保存网页操作 // event.preventDefault(); quickInsertImgFunc() } }); /* 重新加载会有延时, 所以需要等待1s之后再添加按钮 */ setTimeout(() => { // 目标元素id, 插入位置, 新元素id, 显示内容, 图标, 点击回调 addElement(btn_basic_id, btn_post, "custom_quick_inser_img", btn_tips, icon_e.download, quickInsertImgFunc); }, 1000); function checkShortcut(hostkey, event) { const keys = hostkey.split("+"); const key = event.key.toLowerCase(); const isCtrl = event.ctrlKey ? "ctrl+" : ""; const isAlt = event.altKey ? "alt+" : ""; const isShift = event.shiftKey ? "shift+" : ""; const combination = isAlt + isCtrl + isShift + key; // console.log(keys.sort().join("+")) // console.log(combination) return keys.sort().join("+") === combination; } // 目标元素id, 插入位置, 新元素id, 显示内容, 图标, 点击回调 function addElement(targetId, position, newElementId, displayContent, icon, clickCallback) { let barMode = document.getElementById(targetId); if (barMode === null) { return "" } barMode.insertAdjacentHTML( position, `<div id="${newElementId}" class="toolbar__item ariaLabel" aria-label="${displayContent}"></div>` ); let newBtn = document.getElementById(newElementId); if (newBtn === null) { return "" } newBtn.innerHTML = `<svg><use xlink:href="#${icon}"></use></svg>`; newBtn.addEventListener("click", clickCallback); return newElementId } function quickInsertImgFunc() { const more_btn = document.querySelector('.layout__center [data-type="more"]:not([data-menu]'); if (more_btn) { more_btn.click(); setTimeout(() => { const insert_btn = document.querySelector('#commonMenu > div.b3-menu__items > button:nth-child(1) > span > input'); if (insert_btn) { insert_btn.click(); } }, 200); } } })()
-
我在文档树选择文件,然后按复制副本的快捷键,没有任何反应,因为一旦选择了文件这个时候激活的是文档的窗口,所以永远也用不了文档树选中文件后的快捷键
2024-08-16 19:25我刚试了下通过快捷键复制文档副本, 从设计上讲, 应该只能设计成现有效果这样了, 但是总感觉 整个操作流程好奇怪
- 先点击文档树区域的文档名
- 这个时候, 会打开文档, 但是光标是在文档里面的
- 点击文档树空白区域, 光标不在文档里面
- 按下快捷键, 即可生成文档
而且还有几个不太合理的地方
复制块引用
的快捷键没了
如果 文档不支持这种快捷键的话, 把复制为副本
的快捷键删掉, 比较好
如果支持, 那复制块引用
的快捷键也应该加上- 复制出来的文档, 为什么跑最上面去了, 个人感觉 放到当前文档的下面会比较合适
- 复制出来的文档名, 为什么要加后缀, 感觉有点多余
-
有没有快速引用今天日期的方法?
2024-08-16 12:57我之前也用这个插件来着, 不过后来找到了更通用的
搜狗输入法 的 自定义短语
效果图
~~~~
好处: 思源的插件只能在思源软件里面使用, 但是搜狗输入法可以在任何地方使用, 嘎嘎好用
设置方法
- 打开搜狗输入法的更多设置
- 找到 属性设置-> 高级-> 自定义短语
- 打开开关, 然后点击
自定义短语设置
- 这里可以自定义想要是时间或者日期
备注: 也可以直接修改配置文件, 这是我配置文件里面的内容, 直接粘进去,就可以使用
now,2=#$fullhour_hh$minute$second rq,2=#$year$month_mm$day_dd rq,3=#$year/$month_mm/$day_dd sj,2=#$year$month_mm$day_dd_$fullhour_hh$minute$second sj,3=#$year/$month_mm/$day_dd_$fullhour_hh:$minute:$second
-
建议出个自动添加标题序号的功能
2024-08-15 09:50这个需求我也想要
非官方, 我个人感觉不太好做, 抛开技术难题之外, 要考虑的效果太多了
- 怎么插入一个, 插入多个
- 怎么取消一个, 怎么取消多个
- 插入的是一级序号还是多级序号
- 序号的样式是什么, 比如:
1
1.1
1.1.1
或者一
1.
(1)
等等 - 导出的时候, 要不要带
- 复制标题的时候, 要不要带
如果要做的比较好, 这些效果, 想想都头大
如果简单做, d 大基于通盘考虑, 最后做出来的效果也未必是你想要的
-
有序列表在编号上面右键菜单增加一个重新编号,或者选择编号数字,或者继续编号的功能什么时候实现,这个挺多场景都要用到的
2024-08-13 19:09小声: jeffreyChen 大佬不是官方的人,, 需求你得找 d 大
或者自己研究一下能否通过代码片段解决 -
请问有置顶笔记的功能吗?
2024-08-13 12:55- 巧了, 今天上午我也有置顶这个需求, 之后也是想到了 钉住, 可以解决问题
- 该说不说, 闪卡这东西, 我也不搞懂他是干啥的
- 如果楼主不需要闪卡的话, 可以通过 css 代码片段 隐藏关于闪卡的内容
我就是把闪卡/ai 这种用不到的给隐藏了, 看起来极其舒服
可以使用这个插件隐藏相关内容
-
手机版文档树标题字数与层级
2024-08-13 09:08手机版的我没用过, 不知道是否可以参考 pc 版的方法
- 隐藏图标/更多/新建文档
不过 手机的更多和新建文档应该比较有用, 不能隐藏 - 缩小文档树字体
- 压缩 文档树折叠按钮 缩进距离
代码片段
/* 设置文档树字体大小 */ div.sy__file>div.fn__flex-1 { font-size: 13px; } /* 隐藏: 文档树->文档->图标 */ div.sy__file>div.fn__flex-1 ul>li>span.b3-list-item__icon {display: none!important;} /* 隐藏: 文档树->笔记本->更多设置按钮 */ div.sy__file>div.fn__flex-1>ul>li>span[data-type="more-root"] {display: none!important;} /* 隐藏: 文档树->文档-> 更多设置按钮 */ div.sy__file>div.fn__flex-1 ul>li>span[data-type="more-file"] {display: none!important;} /* 隐藏: 文档树->文档->新建子文档按钮 */ div.sy__file>div.fn__flex-1 ul>li>span[data-type="new"] {display: none!important;} /* 隐藏: 文档树->文档->文档被引用个数 */ div.sy__file>div.fn__flex-1 ul>li>span.popover__block {display: none!important;} /* [CSS片段] 文档树压缩 */ :root { /* 22, 40, 58, 76, 94, 112, 130 */ --level-tree-compress-scale:0.5; --level-tree-compress-0:4px; --level-tree-compress-spacing:18px; --level-tree-compress-spacing-res: calc(var(--level-tree-compress-spacing) * var(--level-tree-compress-scale)); --level-tree-compress-2: calc(var(--level-tree-compress-0) + var(--level-tree-compress-spacing-res)); --level-tree-compress-3: calc(var(--level-tree-compress-2) + var(--level-tree-compress-spacing-res)); --level-tree-compress-4: calc(var(--level-tree-compress-3) + var(--level-tree-compress-spacing-res)); --level-tree-compress-5: calc(var(--level-tree-compress-4) + var(--level-tree-compress-spacing-res)); --level-tree-compress-6: calc(var(--level-tree-compress-5) + var(--level-tree-compress-spacing-res)); --level-tree-compress-7: calc(var(--level-tree-compress-6) + var(--level-tree-compress-spacing-res)); --level-tree-compress-8: calc(var(--level-tree-compress-7) + var(--level-tree-compress-spacing-res)); } div.sy__file>div.fn__flex-1>ul>ul>li>span.b3-list-item__toggle { padding-left: var(--level-tree-compress-2)!important; } div.sy__file>div.fn__flex-1>ul>ul>ul>li>span.b3-list-item__toggle { padding-left: var(--level-tree-compress-3)!important; } div.sy__file>div.fn__flex-1>ul>ul>ul>ul>li>span.b3-list-item__toggle { padding-left: var(--level-tree-compress-4)!important; } div.sy__file>div.fn__flex-1>ul>ul>ul>ul>ul>li>span.b3-list-item__toggle { padding-left: var(--level-tree-compress-5)!important; } div.sy__file>div.fn__flex-1>ul>ul>ul>ul>ul>ul>li>span.b3-list-item__toggle { padding-left: var(--level-tree-compress-6)!important; } div.sy__file>div.fn__flex-1>ul>ul>ul>ul>ul>ul>ul>li>span.b3-list-item__toggle { padding-left: var(--level-tree-compress-7)!important; } div.sy__file>div.fn__flex-1>ul>ul>ul>ul>ul>ul>ul>ul>li>span.b3-list-item__toggle { padding-left: var(--level-tree-compress-8)!important; }
以上三种都可以通过插件实现
- 隐藏图标/更多/新建文档
-
分享思源代码片段调试技巧
2024-08-12 09:43补充几个小点
- 光标在调试页面的时候, f5 可以直接刷新
- 运行这里, 可以通过 ctrl+enter 直接运行
- 在源代码运行正常的代码, 放到代码片段不一定能用, 我猜测的原因: 源代码这里是一个整体, 且独立的代码
但是放到代码片段里面, 就不太算一个整体了, 好像是跟同步异步有关, 非专业, 不太清楚