请问思源有没有办法单独调整每个页面的 "显示字号" 和 "页面宽度",要单独调整不影响其它页面

本贴最后更新于 252 天前,其中的信息可能已经沧海桑田

目前调整显示字号的方法是 按住 command 键 + 触控板放大缩小,但会影响所有页面,很不方便。

  • 有的页面是数据库,需要普通字号,以保证显示格式。
  • 有的页面是文字,编辑时需要大字号,编辑完后需要缩小
  • 数据库页面 和文字页面,分屏使用时,显示字号会互相影响,需要不同的显示字号
  • 文字页面每行只有 15 个字,页面不需要太宽。
  • 数据库页面列数比较多,页面需要全宽。
  • 试过页面的自适应宽度,效果比较差(数据库页默认不是全宽,只有左右滑动时才是全宽,并且光标经过时会有一个选中的高亮区域,很难用;文字页面也无法做到极窄的宽度。)
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    28446 引用 • 119783 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    11155 引用 • 50664 回帖 • 52 关注

相关帖子

被采纳的回答

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • carethink
    作者

    😭

  • 365

    我能理解你滴感受,尤其是需要分屏记笔记的时候

  • 365

    image.png

    可能和你这个回答相关性不是很大,供参考
    我的方法是,在空白处按 enter,创建很多个块
    选中这些块,右键,外观,往下滑,找到字号
    选择合适的字体大小
    后续在这些块上的字体,都会是你一开始选择的大小

    2 回复
  • 给文档添加自定义属性,比如 custom-doc-style="1",然后在外观-代码片段里添加具体样式,比如:

    .protyle-wysiwyg[custom-custom-doc-style="1"] {
      font-size: 12px;
      width: 100%;
      padding: 16px 20px 64px !important;
    }
    

    需要绑定样式的就添加这个自定义属性,你也可以添加多套主题。

    图左是添加了的,不影响右侧普通文档的效果:

    image.png

    2 回复
  • wenbocn

    单个页面宽度的调整,可以参考这个帖子。

    Ctrl+ 鼠标滚轮临时调整页面宽度(js 代码) - 链滴

    1 回复
  • carethink
    作者

    我试了下,好像是失效了,或者说 mac 环境下不起作用呢,我是 mac+ 触控板 😂

    ,不过这个思路 我确实觉得蛮好的

  • carethink
    作者

    感谢~ 这个方法很有效!我用 font-size 控制了字号大小,width 我测试是控制块宽度的,请问是否也可以用某个参数控制页面宽度呀。

  • carethink
    作者

    这个方法挺不错,我试了确实有效,只不过每个文档的块太多, 有点麻烦, 不过依然非常感谢~

  • carethink
    作者

    感谢大佬 , 很早就已经用上您这个代码了

    1 回复
  • carethink
    作者

    我好像找到控制页面宽度的参数了。 是"centerWidth",但是在您的代码里添加后,不生效,很奇怪

    .protyle-wysiwyg[custom-custom-doc-style="1"] {
    font-size: 36px;
    width: 100%;
    centerWidth: 100%;
    padding: 16px 20px 64px !important;
    }
    
  • carethink 2 评论
    作者

    亲,您有没有类似的方法,控制住块、或者页面的宽度呢, 就是说像固定块字号一样,把当前页面的宽度固定住,在调整其它页面宽度时,当前页不受影响。

    在思源里,想满足自己的需求一般两种方法
    365
    一种是在思源笔记本身设置里找,另一种是自己写代码,你滴需求估计只能代码满足啦,代码我就不太懂啦
    365
  • wilsons 1

    既然你用过,我就在那个基础上改了下,看看是否你想要的效果。

    暂不支持持久,即文档关闭或页面刷新后复原。

    r122.gif

    代码:

    https://gitee.com/wish163/mysoft/blob/main/%E6%80%9D%E6%BA%90/%E7%BB%99%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A1%B5%E9%9D%A2%E8%AE%BE%E7%BD%AE%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A3%8E%E6%A0%BC.js

    可在 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;}`},
    };
    
    1 回复
    2 操作
    wilsons 在 2025-04-20 07:55:20 更新了该回帖
    wilsons 在 2025-04-20 07:41:19 更新了该回帖
  • carethink
    作者

    感谢大佬 ~ 这个也太牛了,非常实用,我测试了下,文字的字号大小是没有问题的,但不知道是不是版本的问题,我这边有点小问题,

    1.只能调整页面内文字的大小,如果页面内有数据库,数据库内的字号不受影响。

    2.页面的宽度我这里没有变化, 不知道是什么原因,我尝试把 width 换成了 centerWidth 也还是不行。

    3.这个代码是否也可以实现用快捷键切换字号呀,比如配合 openany, 按快捷键 1 切换数据库字号和宽度,快捷键 2 切换编辑文字的字号和宽度。

    1 回复
  • 1.只能调整页面内文字的大小,如果页面内有数据库,数据库内的字号不受影响。

    数据库的字体大小要保持不变,必须设置一个固定值,因为官方默认字体大小是继承祖先或是百分比,比如可在 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 参数里设置的样式问题,这个因每个人的环境不一样,只能自己去调整。

    建议,先新空间测试,保证没问题后再在自己空间去逐个排查问题。

    2 回复
    3 操作
    wilsons 在 2025-04-19 23:08:12 更新了该回帖
    wilsons 在 2025-04-19 23:01:06 更新了该回帖
    wilsons 在 2025-04-19 22:50:25 更新了该回帖
  • carethink
    作者

    收到,费心了 哈哈,我再多测试测试~

  • carethink
    作者

    按照您的分析步骤,我已经调试好了,目前的字体大小问题已经好使(包括数据库),宽度问题还没有解决,还得麻烦请教您一下,

    1.代码中的 width 我测试发现 是调整块宽度的,我在控制台中看到影响页面宽度的参数是 centerWidth,但是我把 width 替换成 centerWidth 后不好使,无法调整页面宽度,我其实是想调整页面宽度的。

    2.快捷键设置,一会儿我再去仔细学习一下 openany 的贴子。😂

    1 回复
  • 1.代码中的 width 我测试发现 是调整块宽度的,我在控制台中看到影响页面宽度的参数是 centerWidth,但是我把 width 替换成 centerWidth 后不好使,无法调整页面宽度,我其实是想调整页面宽度的。

    centerWidth 是什么东西,这不是 css 的属性,是 var(--centerWidth) ? 建议截图看看。

    2.快捷键设置,一会儿我再去仔细学习一下 openany 的贴子。

    哈哈,这是最简单的使用方式了,只需要模拟点击即可,比如

    openAny.setKeymap('alt+3', (event) => {
        event.preventDefault();
        openAny.click('[aria-label="设置数据库风格"]');
    });
    
    1 回复
  • carethink
    作者

    这个 centerWidth 好像是集市里面"更改编辑器宽度插件":siyuan-center-Width 的属性,我平时是用这个插件的快捷键,【alt + =】 【alt + -】来修改页面显示宽度的

  • 其实和--centerWidth 无关了,还是优先级问题,因为这个插件使用了 #layouts div.layout__center div.protyle-content:not([data-fullwidth="true"]) div.protyle-wysiwyg 选择符,这个优先级太高了。

    所以,我更新了 js 代码,使用了比它更高的优先级,这样就没问题了。

    同时兼容了编辑器宽度插件和思源自适应宽度两种情况。

    你更新代码再试试,只需要在 styles 中修改你的字体大小即可。

    如果想自定义宽度,可以加 width:百分百 %,如果想让编辑器同时居中的话,还需要加 margin:0 auto;

    比如,让编辑器显示 50%,并居中的话;需要加 width:50%;margin:0 auto;

    总之,具体怎样,只需要在 styles 中修改样式即可。

    1 回复
  • carethink 1 评论
    作者

    搞定啦~,大佬就是大佬,哈哈,技术强的一批!按您给的代码并结合 OpenAny 代码,最终效果非常完美,再次感谢!

    🎉 恭喜恭喜
    wilsons
请输入回帖内容 ...

推荐标签 标签

  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 633 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    173 引用 • 1559 回帖
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    110 引用 • 153 回帖
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 563 关注
  • 千千插件

    千千块(自定义块 css 和 js)
    可以用 ai 提示词来无限创作思源笔记

    32 引用 • 69 回帖
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    127 引用 • 169 回帖
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    105 引用 • 908 回帖
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    33 引用 • 108 回帖
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 2 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 284 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖 • 1 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 11 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    151 引用 • 257 回帖 • 1 关注
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 11 关注
  • Follow
    4 引用 • 13 回帖 • 19 关注
  • sts
    2 引用 • 2 回帖 • 260 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 691 关注
  • 电影

    这是一个不能说的秘密。

    125 引用 • 610 回帖
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 545 关注
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    15 引用 • 7 回帖
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 123 关注
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    27 引用 • 7 回帖 • 92 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    51 引用 • 200 回帖 • 2 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖 • 1 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    126 引用 • 83 回帖 • 1 关注