-
[js] 代码片段实现代码块最近使用的语言置顶
2024-09-13 14:03你要的是这种功能吗?如果是,则通过设置
const defaultCodeLang = "c"
可以实现,否则则不支持。 -
[js] 代码片段实现代码块最近使用的语言置顶
2024-09-13 12:58正如楼上所说,代码块默认使用上次使用的代码块语言。
这个 js 代码不会改变思源的这种使用习惯。
但,如果你想代码块一直默认使用 c 语言的话,可以设置 js 代码片段中的参数
const defaultCodeLang = "c"
即可。但,如果你输入代码时明确指定语言,比如```sh 的话,只会使用你指定的语言 sh,其他情况,未明确指定语言的情况下,则默认使用 defaultCodeLang 设定的语言,而忽略上次使用的语言。
注意,修改 defaultCodeLang 参数后,需要重启下思源生效。
-
建议修改大纲保持全部展开的交互
2024-09-13 12:49深有同感,这个操作太反人性。
我发现思源有些交互太反人性,不符合见文知意,见图知意的哲学。
obsidian 也有这方面的问题,但比较少。
举个例子,像打开不重复的标签,在 ob 中一直有用户问怎样打开不重复的标签问题,而思源则没有这个问题,这是因为思源的标签打开后,如果标签已存在,不会再次打开,而是直接激活已打开的标签。但思源中为什么没有人问,怎样打开重复的标签呢?这说明打开不重复的标签是符合人性的,至少符合大多数人的使用习惯。
所以,我认为,那些用户普遍反映的问题,往往是不符合人性的。或者交互方面尽可能参考大型软件或成熟软件的交互方式,至少这些软件是经过市场检验的。
一般商业软件或大型软件出现这种反人性的概率较小,这或许就是交互设计师的重要性吧。
-
[js] 代码片段实现代码块最近使用的语言置顶
2024-09-13 12:26js 代码片段里面默认语言配置成 c 了
你这里是指配置了 defaultCodeLang 这个参数
const defaultCodeLang = "c";
了吗?参数配置后或者说脚本代码被修改后,需要重启思源,新的配置才能生效。
你是配置并重启后测试的吗?
另外,即使配置了,如果键入的代码是```sh,也只会按 sh 来处理,只有未明确指定语言时才使用默认语言,即 defaultCodeLang 所配置的语言。
我是 3.1.6 环境测试没问题,3.1.5 环境我这边没有这个环境,不方便测试,理论上应该一样。如果以上都没问题,建议升级 3.1.6 试试。
-
[js] 代码片段实现代码块最近使用的语言置顶
2024-09-13 10:50你说的对,附上备份代码地址:gitee 备份代码地址
后续更换一个代码语言以后,又会变成上一次使用的代码语言了
没太理解你的意思,这个脚本并不会默认使用最近的语言,只是会把最近使用的语言置顶到语言选择列表的上面。
-
[js] 代码片段实现代码块最近使用的语言置顶
2024-09-13 09:54感谢反馈!
jsrun 网站一般早上 6 点左右会无法访问,可能这个时间官方在代码维护吧,一般过会就好了,影响不大。jsrun 网站已稳定运行了 8 年。
后面再分享代码,我会同时附上 github 备份地址,以防万一。
之所以选第三方代码托管,1 是方便随时修改代码,2 是有时链滴有字数限制,代码过长导致无法发布。
-
批量导入文档到数据库 0.0.6 版全新发布
2024-09-10 17:14建议在代码中增加
console.log('111111')
(比如,配置区上面或主逻辑区上面),然后在 devtools 控制台观察刷新时是否一直在打印,如果一直打印就说明本脚本被某种原因死循环了。如果没有,则说明本脚本没问题,可能是别的脚本导致的。如果确实本脚本由于某种原因出现死循环了,可以添加以下代码临时解决(把以下代码放到配置区的上面或主逻辑区的上面均可)。
if(window.doc2dbImporterRuning) return render(`<span>已执行完毕,不必重复执行</span>${help()}`); window.doc2dbImporterRuning = true; // 这里保证5秒钟内只会被执行一次,可根据您脚本具体执行时间进行调整(这种调整通常可停止某些原因导致的死循环) setTimeout('window.doc2dbImporterRuning = false', 5000);
如果是别的脚本的问题,那就要具体排除是哪个脚本及具体的原因了。
-
求 SQL 汇总颜色背景内容
2024-09-10 16:38具体什么问题?是有重复块出现吗?还是出现的块与这个颜色完全无关?如果颜色用在嵌套块中筛选结果可能出现重复。这是思源典型的一炮三响问题。
如果和颜色块完全关,就要检查这个多出来的块是什么块?是否直接或间接使用了上面的样式导致的。
-
文档显示行号
2024-09-10 14:57理解了,你这种情况确实行号更适合,可惜限于思源块高无规律性,无法实现准确实现行号。
但我觉得可以实现类似标尺功能,即左侧增加标尺,比如 10 像素为一个格,标上 10, 20, 30...,虽然不是行高,但确实能满足你的需求,大致能确定具体位置,比如某个标号上面或下面等。
-
文档显示行号
2024-09-10 12:10找到块,基本上就很接近了,目前这是最方便的了,只要你的块不是很大,内容很多,问题不大。
思源里无法实现行号,我也曾试着通过编辑器高度和行高来模拟行号,但发现思源的块高度无规律,即块高并不能遵循行高的整数倍,这就导致行号无法准确计算并对齐行。
另外,如果分享给别人,想让对方快速找到位置,也可以在文档顶部添加块引用,不过这也无法直接引用到块内部。
-
求 SQL 汇总颜色背景内容
2024-09-10 11:59限定一个笔记就加
and root_id = '笔记id'
限定多个笔记就是
and root_id in ('笔记1id', '笔记2id', '笔记3id')
限定某个笔记及其子目录就是
and path like '%/笔记id%'
-
求 SQL 汇总颜色背景内容
2024-09-10 11:56select * from blocks where type != 'd' and markdown like '%background-color: var(--b3-card-info-background); color: var(--b3-card-info-color)%' or markdown like '%var(--b3-card-success-background); color: var(--b3-card-success-color)%' or markdown like '%var(--b3-card-warning-background); color: var(--b3-card-warning-color)%' or markdown like '%background-color: var(--b3-card-error-background); color: var(--b3-card-error-color)%' order by sort asc,created asc;
-
批量导入文档到数据库 0.0.6 版全新发布
2024-09-10 11:39我并没有测试到你说的问题,可能你的环境和某种脚本有冲突,因为这涉及到编辑器内容的更新和变化,比如,如果环境有脚本监听编辑器的某些变化做某种操作,但这种操作又引起编辑器的变化,这可能导致无限循环。
建议在新空间测试试试。
如果还有问题,建议把你的环境打包发过来我测试下,比如把 data 目录去敏后打包。
-
有没有办法把反链或者子文档自动添加到数据库
2024-09-09 17:07子文档导入参考 批量导入文档到数据库 0.0.6 版全新发布
反链 SQL 参考 SQL 求助:查询所有反链,并排除一些内容
-
文档显示行号
2024-09-09 11:19以下样式可以实现编辑器行号,请根据自身情况调整,详见注释说明。
注意:这和 ob 不同,不是严格意义上的行号,是块的序号。
.protyle-wysiwyg { counter-reset: line-number; /* 初始化计数器 */ } .protyle-wysiwyg > div { counter-increment: line-number; /* 每个div递增计数器 */ } .protyle-wysiwyg > div::before { content: counter(line-number) ""; /* 显示行号 */ position: absolute; color: #999; /* 设置行号颜色 */ left: -55px; /* 行号不右对齐情况下的,默认主题左边距 */ /* 行号右对齐需要下面这几个样式,以下只是针对默认主题调整的 */ text-align:right; /* 行号右对齐,需要配置下面两个参数 */ left: -96px; /* 设置行号左边距,可根据自身情况调整 */ min-width:56px; /* 最小宽度,可根据自身情况调整 */ }
效果
-
导出为 HTML 后图片无法显示
2024-09-09 10:37- 用 devtools 检查下图片路径是否正确,比如
file://路径
是否你导出文件的路径 - HTML(markdown)格式试试
- 建议把分享文件发到论坛,靠描述和图片发现不了问题的,只能盲猜。
- 用 devtools 检查下图片路径是否正确,比如
-
数据库资源列单元格内插入链接,单元格内链接的标题不能完整显示
2024-09-08 22:36.av__celltext--url.b3-chip { max-width: fit-content; }
-
(视频演示)代码块自动检测语言插件现在已经完整交付而且新增自动模式,请之前答应给我点星星的用户给我点星星,谢谢
2024-09-08 20:34嗯嗯,我相信你可以的,可以慢慢完善,也不是一下子做的那么完美,怎能抢你的功劳,主要我对 api 不熟,还不如你。
最近感觉思源要用着顺需要改进的还挺多的,无奈精力有限,有些功能还是先想想吧 😄
-
(视频演示)代码块自动检测语言插件现在已经完整交付而且新增自动模式,请之前答应给我点星星的用户给我点星星,谢谢
2024-09-08 20:08明白了,但只要后台保存的块是官方支持的,应该问题不大。比如你这里如果仅仅更新 dom 中的语言的文字显示,然后把更新后的块的新结点通过 api 提交给后台,但不刷新页面上的块,理论上应该能避免插件更新块和用户输入冲突问题,但我没有研究过,不知道是否可行。