如果用户在 Discourse 的编辑表单中复制粘贴
```sh
systemctl reboot
```
那么该内容会变成
||```sh|
|---|---|
||systemctl reboot|
||```|
这是错误的——这显然是一个列表,而不是一个表格。
我已在 discuss.kde.org 和 meta.discourse.org 上测试过。
如果用户在 Discourse 的编辑表单中复制粘贴
```sh
systemctl reboot
```
那么该内容会变成
||```sh|
|---|---|
||systemctl reboot|
||```|
这是错误的——这显然是一个列表,而不是一个表格。
我已在 discuss.kde.org 和 meta.discourse.org 上测试过。
```sh
systemctl reboot
```
```sh
systemctl reboot
```
@JammyDodger,再试一次。我已经删除了列表编号。现在似乎可以可靠地工作了。
顺便说一下,选择引用你的评论会给我
[quote="JammyDodger, post:2, topic:266325"]
重启:
0. ```
systemctl reboot
```
```
0. 重启:
```sh
systemctl reboot
```
```
[/quote]
……这是正确的吗?
我得承认,我不太确定我这个时候应该复制粘贴什么。![]()
哈哈。
```sh
systemctl reboot
```
从页面上拖动选择文本进行复制时,我会得到:
但是使用复制按钮复制时:
粘贴后我能正确地只得到预期的文本。
使用“复制”按钮时的剪贴板内容是:
TEXT:
b'```sh\\n\\tsystemctl reboot\\n\\t```'
text/plain:
b'```sh\\n\\tsystemctl reboot\\n\\t```'
通过在页面上拖动选择时的剪贴板内容是:
TEXT:
b'\\t```sh\\n\\tsystemctl reboot\\n\\t```'
text/html:
b'<span style="color: rgb(199, 199, 199); font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace; font-size: 17.008px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(60, 60, 60); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">\\t```sh\\n\\tsystemctl reboot\\n\\t```</span>'
text/plain:
b'\\t```sh\\n\\tsystemctl reboot\\n\\t```'
这可能是每行开头的制表符在混淆视听——也许在解析剪贴板内容时,如果第一列总是为空,我们就不将其视为列表。
这似乎是一个非常特殊的情况——有没有可能自然出现这种情况?通常帖子中不会有制表符。
对于计算机来说,它看起来完全像一个带有空白第一列的制表符分隔的表格。
多年来我学到的一件事就是永远不要相信拖动选择的复制和粘贴……
这应该由用户来决定,使用
```tsv
```
毕竟,制表符分隔的表格不应该启用自动换行,所以它最好被包含在强制滚动的东西里。
而且,也因为缩进(用于分隔列表或围栏代码块)
也是非常有效的(而且常见的)markdown。