-
请问思源有没有办法单独调整每个页面的 "显示字号" 和 "页面宽度",要单独调整不影响其它页面
2025-04-19 22:261.只能调整页面内文字的大小,如果页面内有数据库,数据库内的字号不受影响。
数据库的字体大小要保持不变,必须设置一个固定值,因为官方默认字体大小是继承祖先或是百分比,比如可在 styles 参数的每个 style 中都加上 .av{font-size: 16px;} 这样的固定值。
2.页面的宽度我这里没有变化, 不知道是什么原因,我尝试把 width 换成了 centerWidth 也还是不行。
这一般是你本地因素影响的,width:100%!important 或者 width:100vw!important 试试,如果不行,就多加选择符,或者控制台看看,哪个选择符影响了,只要比它优先级更高就行。
3.这个代码是否也可以实现用快捷键切换字号呀,比如配合 openany, 按快捷键 1 切换数据库字号和宽度,快捷键 2 切换编辑文字的字号和宽度。
可以实现最简单的方式就是模拟点击,比如按 alt+1 点击第一个按钮,alt+2 点击第二个等等,可以通过[aria-label="设置编辑风格"]来区分不同的按钮。
总之,这个代码仅仅是个框架,至于样式不生效全是因为 styles 参数里设置的样式问题,这个因每个人的环境不一样,只能自己去调整。
建议,先新空间测试,保证没问题后再在自己空间去逐个排查问题。
-
请问思源有没有办法单独调整每个页面的 "显示字号" 和 "页面宽度",要单独调整不影响其它页面
2025-04-19 21:28既然你用过,我就在那个基础上改了下,看看是否你想要的效果。
暂不支持持久,即文档关闭或页面刷新后复原。
代码:
可在 styles 参数里设置风格和描述,可根据自己情况修改
// 添加风格 const styles = { "📋": {tips:'正常', style:``}, "🛢️": {tips:'数据库', style:`width: 100%!important;margin:0 auto;padding-left:20px!important;padding-right:20px!important;.av{font-size: 16px;}`}, "🖍️": {tips:'编辑', style:`font-size: 24px!important;.av{font-size: 16px;}`}, "👁️": {tips:'阅读', style:`font-size: 12px!important;.av{font-size: 16px;}`}, };
-
请问思源有没有办法单独调整每个页面的 "显示字号" 和 "页面宽度",要单独调整不影响其它页面
2025-04-19 19:50调字号可参考这个帖子 [js] 在右侧边栏添加快捷切换指定大小字号按钮
-
建议每点击一次保存就触发下同步
2025-04-19 19:24思源哪来的保存按钮点击?除非像楼上说的设置快捷键。
如果需要多端同步感知,推荐 白嫖党的福利,js 片段实现同步感知
0.0.6 版新增了当两个及以上客户端同时在线时才同步,有效的减少了快照残留文件。
-
文档树目前只有一级文件夹,建议增加多级文件夹
2025-04-19 14:13也可以用这个代码片段
pc 版 中键打开,单击展开
触屏版 长按打开 点击展开openFolderBy 参数可更改打开方式,比如,midclick 中键打开 dblclick 双击打开
代码:
-
文档树目前只有一级文件夹,建议增加多级文件夹
2025-04-19 12:02这个建议基本是无用的,因为会被官方采纳的概率大约是 0.000000∞1
因为这么基础的功能,官方设计当初必定是深思熟虑的结果,至少官方认为是最佳方案,不可能因为一两个声音会被改变。这种改变不亚于改变一个社会的社会性质。除非发生重大变革。
-
公式块换行问题
2025-04-18 22:02试试这个
.b3-typography .katex-display>.katex>.katex-html:before, .protyle-wysiwyg .katex-display>.katex>.katex-html:before { content: ""; flex: 0; /* 移除空距 */ }
-
[js] 连续点击 openAny,小代码,大作用,让一切触手可达
2025-04-18 18:30哈哈,其实就是有点类似自动化点击。之前需要用手动操作的,现在都可以通过代码模拟操作。类似与于宏,或有些软件叫录制。主要可以解放双手,自动完成一些工作。
-
Ctrl+Alt+X 界面只显示图中区域的 CSS 怎么写?
2025-04-18 12:26我提供一个版本
.protyle-font > *:not(:nth-child(6),:nth-child(7)) { display:none; }
其实,还可以通过 [js] 连续点击 openAny,小代码,大作用,让一切触手可达 动态修改这个弹窗,然后,正常点击不受影响。
-
[js] 移动到回收站
2025-04-18 11:18抱歉,无法复现你的问题,我这边 v3.1.10 Mac 和 v3.1.27 Windows 都正常
建议:
- 确保代码是最新版 0.0.4
- 新空间测试以排除干扰项
- 如果还有问题,请提供思源版本及重现步骤
-
Ctrl+Alt+X 界面只显示图中区域的 CSS 怎么写?
2025-04-18 10:59.protyle-font > *:nth-child(n+8) { display: none; }
-
docker 不识别手机端已是最新版程序
2025-04-18 09:12不要复制 pc 版地址,直接敲网站根路径,比如 pc 版地址可能是
http://127.0.0.1:6806/stage/build/desktop/
你要输入http://127.0.0.1:6806/
即可,不要带后面的 desktop -
[js] 连续点击 openAny,小代码,大作用,让一切触手可达
2025-04-17 23:48可以,不仅仅其他主题,浏览器,obsidian,logseq 等只要支持 js 的软件当中都可以。
-
开发者选项如何保存修改
2025-04-17 23:44这个改不了,因为这个是动态变化的,你改后一拖动又变化了。
如果写死,就无法拖动了。
所以只能改最大或最小值,超过这个限制就无法拖动了。
比如:
.fn__flex-column.fn__flex-shrink.layout__dockl { min-width: 300px; }
然后把代码放到 设置 -》外观 =》代码片段 =》css 中查看效果。
-
[js] 连续点击 openAny,小代码,大作用,让一切触手可达
2025-04-17 22:35哈哈,主要是通过一些模拟点击,按键,输入或 invoke 回调函数来实现你想要的功能。
比如,打开设置,通过注册快捷键化给文字添加样式,注册快捷键打开那些隐藏在菜单深处的功能等,也可以把这些功能添加到工具栏,编辑器导航等处。
注册快捷键的代码可以放到代码片段中,或按需放置,比如放到 runjs 代码块中或自己写的代码中等。
举例说明 实例代码放到控制台执行下就知道它的效果了。
-
思源数据库列名转义问题
2025-04-17 16:54.action{index . "宽(mm)"} // 如果赋值变量 .action{$w := (index . "宽(mm)")} .action{$w}
-
[js][css] 斜杠菜单,导航栏,状态栏,文档树美化和增强
2025-04-17 07:27抱歉,我在 v3.1.10 和 3.1.27 上都没有发现你说的问题。
请在新空间测试,排除干扰项试试呢
-
各位大佬请问数据库中模板列输入这种公式有好的办法吗?
2025-04-15 23:48公式
思源模板
.action{ $t := .t值所在的列名 } .action{ $y := add (mul 0.00003 (mul $t (mul $t (mul $t $t)))) (add (mul -0.0088 (mul $t (mul $t $t))) (add (mul 0.958 (mul $t $t)) (add (mul -54.354 $t) 1771.3))) } y = .action{ $y }
分步骤实现方式(供参考,方便理解)
.action{ $t := 10 } .action{ $t4 := mul $t (mul $t (mul $t $t)) } .action{ $t3 := mul $t (mul $t $t) } .action{ $t2 := mul $t $t } .action{ $term1 := mul 0.00003 $t4 } .action{ $term2 := mul -0.0088 $t3 } .action{ $term3 := mul 0.958 $t2 } .action{ $term4 := mul -54.354 $t } .action{ $y := add $term1 (add $term2 (add $term3 (add $term4 1771.3))) } y = .action{ $y }
-
为什么新版本不支持 macos11 以前的系统了?
2025-04-15 23:31 -
表格里面的内容能变成列表吗?
2025-04-15 16:16 -
如何引用某个块中的一部分内容
2025-04-15 15:58要看具体是什么块?
思源中块是可引用的最小单位,但思源中的块是可以嵌套的,比如列表,任务,超级块等。
如果是最内层的块,是无法部分引用的,如果是外层的块,想引用内层块的内容,只需要用内层块 id 即可。
-
求助能否将“优化排版”按钮从折叠菜单中放到外面来
2025-04-15 13:11最完美的方式,当如是也
// 把优化排版菜单移动到文档导航条 { const main = (protyle)=>{ // 发布服务下不显示 if(window.siyuan.config.readonly) return; if(protyle?.querySelector('.protyle-breadcrumb [data-type="optimizeTypography"]')) return; const exitFocusBtn = protyle.querySelector('.protyle-breadcrumb [data-type="exit-focus"]'); if(!exitFocusBtn) return; const optimizeHtml = `<button class="block__icon fn__flex-center ariaLabel" aria-label="优化排版" data-type="optimizeTypography"><svg><use xlink:href="#iconFormat"></use></svg></button>`; exitFocusBtn.insertAdjacentHTML('afterend', optimizeHtml); const optimizeBtn = protyle.querySelector('.protyle-breadcrumb [data-type="optimizeTypography"]'); if(!optimizeBtn) return; optimizeBtn.addEventListener('click', () => { // 锁定状态下不可修改 const icon = protyle?.querySelector('button[data-type="readonly"] use')?.getAttributeNS('http://www.w3.org/1999/xlink', 'href'); if(icon === '#iconLock') { showMessage('锁定状态不可用'); return } // 优化排版 // see https://github.com/siyuan-note/siyuan/blob/a01523dc98799590396ffcabdc90b2dc6efe8474/app/src/protyle/breadcrumb/index.ts#L415 requestApi("/api/format/autoSpace", { id: protyle?.querySelector('.protyle-title')?.dataset?.nodeId }); }); }; // 监听protyle加载 whenElementExist('.protyle:not(.fn__none)').then(main); observeProtyleLoad(main); function showMessage(message, isError = false, delay = 7000) { return fetch('/api/notification/' + (isError ? 'pushErrMsg' : 'pushMsg'), { "method": "POST", "body": JSON.stringify({"msg": message, "timeout": delay}) }); } async function requestApi(url, data, method = 'POST') { return await (await fetch(url, {method: method, body: JSON.stringify(data||{})})).json(); } function whenElementExist(selector, node) { return new Promise(resolve => { const check = () => { const el = typeof selector==='function'?selector():(node||document).querySelector(selector); if (el) resolve(el); else requestAnimationFrame(check); }; check(); }); } function observeProtyleLoad(callback, parentElement) { // 如果 parentElement 是字符串,则将其转换为 DOM 元素 if (typeof parentElement === 'string') { parentElement = document.querySelector(parentElement); } // 创建一个 MutationObserver 实例 const observer = new MutationObserver((mutationsList) => { mutationsList.forEach((mutation) => { // 检查是否是属性变化并且变化的属性是 class if (mutation.type === 'attributes' && mutation.attributeName === 'class') { const targetElement = mutation.target; // 发生变化的目标元素 // 判断目标元素是否匹配指定选择器 .protyle:not(.fn__none) if (targetElement.matches('.protyle:not(.fn__none)')) { // 触发回调 callback(targetElement); } } }); }); // 配置观察选项 const config = { attributes: true, // 监听属性变化 attributeFilter: ['class'], // 仅监听 class 属性 subtree: true, // 监听父容器及其所有后代元素 }; // 启动观察,默认监听 document.body 或指定的父容器 observer.observe(parentElement || document.body, config); } }
类似文章推荐 https://pipe.b3log.org/blogs/wilsons/articles/2025/04/15/1744703423359