标题传递双链与大纲传递双链的逻辑不一致导致的疑惑

一句话描述

希望标题传递双链和大纲传递双链在反链面板显示与拖动操作时的逻辑保持一致。

使用场景

刚上手使用双链没多久,之前一直在思源里使用大纲型传递双链,前段时间在群里看到 @Dammy 大佬提过在思源里甚至可以使用标题来传递。正好手头有任务,需要每个月提交 word 文档,而使用大纲型传递双链在后期整理的时候还需要手动删除前面的小圆点,此时想到可以用标题来传递双链,但是在实际使用当中遇到了一些问题(也可能是我使用方式不对,望指正!)。

问题描述

如下图所示,我使用一级标题 # [[远程监测成果2021-12]] 来将其传递到相应的文档,然后在下面使用二级标题,在二级标题里写需要的正文。二级标题可能不止一个。

image.png

如果使用大纲,我可能会这样写:

- [[远程监测成果2021-12]]
  - 中国移动通信集团广西有限公司
    - 正文1
    - 正文2
    - ...
  - 中国移动通信集团广东有限公司
    - 正文

后者的反链面板不必多说,只显示一级子节点,当我需要整理时只需要将一级子节点拖动过来即可,下面的正文内容也可以跟着过来,符合需求。但是前者(标题传递双链)的反链面板是这样的:

image.png

当我试图拖动二级标题时,发现下面的正文内容并没有跟着过来。也就是说,当我需要整理时,必须拖动每一个段落,这样会很不方便。

image.png

期望的效果

目前也有一些解决方法,比如鼠标悬浮在二级标题上,就可以看到二级标题及下面的正文内容,我可以将其复制或者剪切过来,但这样到底不如直接拖动那么方便。

既然标题块和列表块一样都是容器块,不知道能否将它们的拖动动作产生的效果统一呢?拖动列表项的一级子节点,就可以把二级子节点及更深层次的节点都拖动过来,那么是否可以在拖动标题时,也将标题块包含的叶子结点一起拖动过来呢?

同时,在反链面板中,只需要显示传递型标题的下级标题即可,不需要将下级标题中包含的叶子结点内容也显示出来,和大纲型传递双链的逻辑保持一致。如果没有下级标题,才显示每一个段落的内容。

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • Randir
    支持者 订阅者

    确实,按理来说标题块下的内容块直到下一个同级标题块为止都应该算作这个标题块的从属来做拖动,我想是因为逻辑上不太好做,除非把标题块当作另一种类型的容器块?但是那就是大改了,而且也会造成很多浅度用户使用上的困扰

    目前可以先用大纲形式,然后 Ctrl+/ 唤出菜单,用方向键直接转换为标题块

    1 回复
  • a1993613
    支持者 订阅者

    有点意思 👍

  • Sheep
    订阅者 作者

    我记得帮助文档里写过,标题块本身就是容器块,比如引用标题块,悬浮预览时也会显示标题下的正文内容

    2 回复
  • 88250 1 评论
    订阅者

    应该和这个 小优化:反链展示对「锚文本是否独占了一个节点」的判定优化 Ⅱ 是同一个问题吧?麻烦楼主帮我们确认一下。

    1 回复
    不是同一个问题
    deerain 1
  • deerain 1 评论
    支持者 订阅者

    标题块在架构上不是容器块,悬浮预览是做了单独处理

    原来如此,感谢指正!
    Sheep
  • Sheep 2 评论
    订阅者 作者

    并不是,不过和该帖评论里提到的“标题和列表在反链逻辑上应该是统一的”这一点相同。

    比如使用一级标题 # [[反链逻辑]] 来进行传递,它下面二级标题应当视作列表中的一级子节点,三级标题以及二级标题下的内容应该视作二级子节点,《反链逻辑》的反链面板中应当默认只显示一级子节点(即二级标题),不显示二级子节点(二级标题下的段落及三级标题等)。包括拖动到正文的操作也是一样,拖动一个一级子节点(二级标题),应当将其下的二级子节点(二级标题下的正文及三级标题等)也拖动进来,而不是现在这样只能一个个段落去拖动。

    1 回复
    既然反链的拖动都做了也可以顺便做下正文的标题拖动包含正文 🤐
    Randir
    @Randir 折叠标题后拖动应该会包含该标题的下方块。
    88250 1
  • Randir 1 赞同 1 评论
    支持者 订阅者

    判定容器块很简单:折叠和拖动会影响容器块内的内容块,而标题块的拖动不能一起转移下方内容块之前提过的人应该不少,折叠标题块也是不久前才加入的特性,只不过小版本迭代太快很多人已经快忘了 🤣

    原来如此,我一直以为标题块也是容器块,刚才看了下帮助文档,确实写的是叶子块
    Sheep
  • 88250 2 评论
    订阅者

    我大概明白了,你看下是否是这样的需求:

    • 标题大纲和列表大纲反链传递逻辑保持一致
    • 标题大纲反链拖动标题时带下方块

    如果是的话,我们这个需求估计要等上一整子了,我们考虑把反链面板先改成编辑器形式 Issue #3565 · siyuan-note/siyuan 然后再解决传递逻辑。改成编辑器形式以后,拖动标题块的逻辑和现在就一致了,即:折叠标题拖动会带下方块,不折叠标题拖动的话仅移动标题本身。

    感谢 D 大,确实是这样的需求,表达能力有限,浪费您的时间还请见谅。
    Sheep
    @Sheep 你写得很清晰的,是我理解能力有限 😂
    88250
请输入回帖内容 ...