在粘贴 Markdown 时,列表条目之间添加了 CR

在过去的几个月里,Discourse 开始在我将 Markdown 粘贴到新帖子窗口时,在列表项之间添加换行符。

例如,当我从文本编辑器复制一个简单的列表:

* foo
* bar
* baz

……然后将其粘贴到一个新主题中时,我得到了:

我已确认,即使在这里的 Discourse 中,当我粘贴到这个文本输入框时也会发生这种情况,如下所示:

  • foo

  • bar

  • baz

顺便说一句,当我将上述内容粘贴到我已经在顶部开始编写的 ``` 代码块中时,它正确地粘贴了(但当然没有格式化为项目符号列表)。

哦,我刚刚想到一件事。不知道它是否也会对编号列表产生同样的效果?

  1. foo

  2. bar

  3. baz

……是的,确实如此。

我刚刚尝试了仅包含文本的三行,看起来它也会执行相同的操作,它正在为所有内容添加换行符:

foo
bar
baz

……变成了三个独立的“段落”:

foo

bar

baz

编辑:

(已加粗强调)。哎呀,我看得不够仔细。你甚至把它写进了标题。抱歉。

原始回复

你说的“discourse”是指这个网站还是其他网站?

如果你是 Discourse 网站的管理员,可能会对以下站点设置感兴趣:

传统 Markdown 换行符

使用传统的 Markdown 换行符,这需要行尾有两个空格才能换行。

嗯,这里会发生,我们的实例上也会发生:https://opennms.discourse.group

我尝试过更改此设置,但似乎对粘贴时向输入中添加额外换行符没有影响。

我在查找过程中发现了“启用富文本粘贴”选项,我可以确认关闭它可以解决问题。因此,启用该选项似乎会破坏 Markdown,尽管它按理说应该只处理 HTML?

1 个赞

我首先想到的是:你确定那不是 HTML 吗?也就是说,当它从某处复制到你的缓冲区时,它仍然是 Markdown 格式,还是已经先被转换成了 HTML,现在正试图将其还原?

只是随便想想,可能是个 bug。但现在有那么多 IDE 和文本编辑器本质上就是浏览器窗口…… :thinking:

这是启用了 Markdown All In One 插件的 VSCode(在 Mac 上)。它在几个月前还能正常工作,我猜可能是代码或 Discourse 实例发生了变化,但我不确定具体是什么时候。自那以后,VSCode 肯定已经更新了很多次。就我目前所见,复制出来的内容只是“普通”文本。不过我还不确定该如何调试这个问题……

你可以从其他编辑器复制并粘贴 Markdown 文本,看看在 Discourse 中是否会产生相同的结果。:sunglasses:

这看起来像是一个支持请求。

我猜测是 Markdown All in One 插件将多个内容放入了剪贴板,我们选取其中的 HTML 并将其转换为 Markdown。

目前还不确定如何解决这个问题,感觉是那个 VS Code 插件的一个 bug,需要调试它在剪贴板中生成的 HTML。

1 个赞

从 Textmate 等编辑器粘贴时,您会得到相同的结果吗?

3 个赞