Closed
Description
在什么情况下你需要该特性?In what scenarios do you need this feature?
Markdown 语法很好,但有时我们只需要纯文本。特别是思源使用的 markdown 语法,标记较多,有时候需要大量手工转义。
例如:
07:00~07:30 早自习
07:30~08:10 第一节课
其中两个波浪号 ~
之间的文字会被渲染成下标:
如果支持纯文本块,那么它就可以渲染成正确的纯文本,而不需要手动转义。
描述可能的最优解决方案 Describe the optimal solution
支持一种纯文本叶子节点,作为块级元素。
描述候选的解决方案 Describe the candidate solution
或者在粘贴为纯文本的时候自动转义 markdown 特殊字符,这样我可以复制文本内容到其它编辑器里,编辑好之后再粘贴回来。虽然有一点不方便,但也是比较容易的解决方案。
现在直接用粘贴为纯文本,特殊字符还是会被识别为 markdown 标记。
其他信息 Other information
目前其实也可以通过 html 块实现:
但毕竟需要手动输入 <pre>
标签,而且字体也不好看,编辑也不够方便。
Metadata
Metadata
Assignees
Type
Projects
Relationships
Development
No branches or pull requests
Activity
88250 commentedon Jun 1, 2022
从 Markdown 语法规范来说,里面没有这样的设计,只能转义,否则可能会有很多语法冲突无法解决。
候选方案中提到的“或者在粘贴为纯文本的时候自动转义 markdown 特殊字符,这样我可以复制文本内容到其它编辑器里,编辑好之后再粘贴回来。虽然有一点不方便,但也是比较容易的解决方案。”这一点我们有在考虑,即支持
转义粘贴
:将剪切板中的行级元素内容自动转义,转换为普通文本行级节点。比如剪切板中是foo~bar~baz
,使用转义粘贴
时自动转换为foo\~bar\~baz
。可行性还需要一些时间评估,我们先完成其他任务,谢谢。
[-]Feature Request: 纯文本叶子节点[/-][+]支持转义粘贴[/+]Temacc0531 commentedon Jun 2, 2022
可以直接写到代码块里面来达到目的
oott123 commentedon Jun 2, 2022
@Temacc0531 代码块确实能达成。但毕竟有时候不是贴代码,只是纯文本而已,不希望等宽或者有额外背景。
@88250 我是在想,新增一个纯文本节点,像 HTML 这样操作,是不是也可以考虑呢,这就绕过了 markdown 的规范问题。
88250 commentedon Jun 2, 2022
@oott123 感觉绕不过去,因为 Markdown 本身就是纯文本的规则……
oott123 commentedon Jun 2, 2022
@88250 我简单设想的两个办法,只是从数据层面上看,不知道是否可行:
NodePlainText
,和NodeText
平级,里面的Data
当成纯文本处理,不经过 markdown 渲染。不过编辑器不知道该怎么处理……NodePlainTextBlock
,和NodeParagraph
平级,里面Data
直接是纯文本,就像 HTML 那样。对编辑器来说就和挂件或者 HTML 块差不多,单独做编辑功能我的绕过的意思是,完全不把这类内容送进 markdown 解析器……
88250 commentedon Jun 2, 2022
@oott123 大概明白你的思路了,但是从目前编辑器的设计上看已经是办不到啊,整个编辑器的逻辑都是基于标记符解析渲染的,要添加节点的话必须要有一个符合文本标记符的规则与其对应。
目前看来,HTML 块其实还是比较适合的,不一定用
<pre>
,用<div>
也行。oott123 commentedon Jun 2, 2022
@88250 编辑器的话,像 HTML 块那样弹窗的话应该是一个解决方案?
<div>
的主要问题是我要手动<br>
……好吧目前看应该是我自己写点 css 比较简单。88250 commentedon Jun 2, 2022
@oott123 主要的问题就是没有解析规则(标记符)与其对应。
ssfdust commentedon Jun 7, 2022
最简单的解决方案可能是用户把
~
输入成~
,其实还更美观了。所以一种可行的方案是把提供一种叫做
全角粘贴
的方式,将用户输入半角符号转换为全角?覆盖范围可能要调整一下
mlzxy commentedon Jun 14, 2022
感觉合理的解法应该是提供【粘贴】和【转义粘贴】两种功能,让用户选择用哪一种,因为何时需要转义只有用户自己清楚
可能大部分用户只会用到【粘贴】,但有一部分用户经常需要【转义粘贴】。
[-]支持转义粘贴[/-][+]支持粘贴转义文本[/+]🎨 fix #5073
Maigq commentedon Jul 6, 2022
2.0.22时我也想反映这个问题...
jabobian commentedon Jul 21, 2022
测试了右键菜单的转义粘贴,好像不行的啊
mzcxiaohuanxiong commentedon Oct 31, 2022
您好,2.4.7版本开始,粘贴为转义文本,不自动转义了。从zotero粘贴过来的注释。
ippreacher commentedon Nov 1, 2022
没错,目前版本确实无法自动转义了。
mzcxiaohuanxiong commentedon Nov 1, 2022
建议:粘贴为纯文本时不自动转义;粘贴为转义文本时自动转义。分别对应不同的快捷键会更方便。谢谢。