New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
列表项块转换为文档块 #2610
Comments
列表块转换文档个人认为价值有限,更加重要的应该是列表项转换文档。 |
@fanglypro 嗯,子列表转文档的时候可以用这个逻辑。 |
这时候涉及到一个我觉得很关键的逻辑问题,就是转换后的文档id选用原先的哪个id 如果用户是把一个列表项拖拽到文档树中,此时我认为,新文档的id应该是列表项的id,新文档的内容就是子列表块,整个过程和标题转换文档一样非常自然。 而如果用户是把一个列表块拖拽到文档树中,此时新文档的id逻辑上应该是该列表块的id,然后如果有父结点,就选用父结点作为文档标题。此时又有一个问题,该文档中的被转换后的列表块的id是哪个,原id已经被用掉了不能用了,换一个新id又很突兀。而如果换一个逻辑,文档id是一个新id,文档中的列表块id是原id的话,这个转换过程又显得毫无意义,因为我完全可以新建一个文档,然后把这个列表块移动过去就好。我认为,这里面矛盾的本质在于列表块转换文档这个操作本身就是不自然的操作。 事实上,与标题转换文档对应,我们是把标题拖拽到文档树中,在列表中与标题对应的应该是列表项而不是列表块,像在大纲笔记中,每一个圆点实际上对应一个page。所以更自然的想法是拖拽列表项而不是子列表块,直接按住列表中的圆点拖到文档树中这应该是是比较自然的动作。 我看您回复的意思好像是觉得列表项转换文档可以用子列表块转换文档替代,这我觉得是一个非常危险的思路,因为有用户会引用列表项,只是使用子列表块转换文档的话,这些对原列表项的引用就全部失效了。 简单来说,我的诉求就是:列表项转换文档后文档id为原列表项的id 在块转换文档这系列功能中,最重要的是id转移问题,因为这是用户没法直接操作的,想修改id只能通过修改源文件进行,有极大的危险性。至于所带来的便利性并不重要,因为这些都是极为低频的操作,节省了低频操作的几十秒钟,没有太大意义。 而对于列表块转换文档,这部分我认为有明显逻辑难点,看D大怎么考虑了,我认为列表块转换文档这个功能意义不大,并不是一个自然的操作,而且完全可以使用新建文档移动列表块来替代。而列表项转换文档是有明确实际意义的,可以和大纲笔记对应。 |
再举个例子,在标题转文档中:
比如我要把要点二转文档,我应当拖拽要点二旁边的标题块标识到文档树中 在列表转文档中:
此时,和前面标题转文档对应,如果我想要把要点二转文档,应当是拖拽要点二旁边的圆点到文档树中,而不是拖拽要点二下面的内容 |
刚刚看到个视频案例,在这里补充下:How to convert block references to page references in Roam Research 可以看到在roam research里面想要把块引用转化为页面引用需要通过复杂的奇淫技巧才能实现,而如果思源能实现列表项(不是列表块)转化文档的话,只需要将列表项的圆点拖拽到文档树中就结束了,完爆视频里的操作 |
@fanglypro @deerainw 感谢两位帮忙梳理思路,列表块转换确实有点问题,列表项转换比较自然。如果有一种情况是列表项里面包含了行级排版元素(特别是包含块引)时,转换为文档标题后这个信息会丢失,因为文档标题不支持行级元素。这个点两位有空帮忙看看吗? |
之前实现的标题转换文档也同样会遇到这个问题,我觉得列表项转换文档也按照之前标题转换文档的逻辑,目前来看我感觉只能这么做了。
剩下的信息丢失的风险只能交给用户承担了。 |
只保留纯文本就行了,文档标题不支持行级元素只是一方面,就算支持,后面还会遇到嵌套引用的难题 |
No description provided.
The text was updated successfully, but these errors were encountered: