行内代码中的连续空格会被折叠

行内代码中的连续空格会被折叠。下面是一个例子。

Markdown:

 - `o     o` 无连接
 - `o --> o` 单向连接
 - `o <--> o` 双向连接

渲染:

  • o o 无连接
  • o --> o 单向连接
  • o <--> o 双向连接

渲染截图:

我不确定这是故意的还是一个 bug,但如果是故意的,我真的不明白其意义。如上所示,这可能会适得其反。如果不想有多余的空格,可以手动删除。代码块(无论是行内还是单独的)的目的是包含等宽字体中的逐字文本。

5 个赞

你好 Szabolcs!

感谢你的报告。我理解这个问题,它严格来说并不是 Discourse 的 bug。Discourse 使用 markdown-it,这是它的标准行为。

你可以在官方演示上看到相同的行为:https://markdown-it.github.io


如果你需要防止反引号之间的空格被折叠,可以在你的论坛中添加以下 CSS:

code {
    white-space: pre-wrap;
}
3 个赞

看起来这不符合 CommonMark。并非说它 必须 符合,但也许可以说服他们进行更改以匹配?

根据用途,这甚至可能更糟,因为它可能导致复制/粘贴混淆。

3 个赞

你说得对,我没考虑到这一点,我已经删除了这个棘手的建议 :+1:

1 个赞

我不熟悉这类东西,但我想你指的是这部分?

请注意,浏览器在渲染 <code> 元素时通常会折叠连续的空格,因此建议使用以下 CSS:

code{white-space: pre-wrap;}

就我所知,不间断空格似乎不会被折叠(o o),所以如果你必须使用一个奇怪的空格,那可能是最好的选择。

编辑:请看下面的坏消息!

The line above that one: “Interior spaces are not collapsed".

1 个赞

在撰写器预览中,不间断空格可能显示为未折叠,但在帖子处理时会折叠。

1 个赞

嗯,那真是太遗憾了。

谢谢你的提示!

您是否知道 discourse.group 托管的网站是否可以设置自定义 CSS?我没有立即找到该设置。

Discourse pricing | Discourse - Civilized Discussion 告知,自定义主题和组件仅在标准套餐中启用。

谢谢。我终于找到了设置,它运行得非常完美 :slight_smile:

我们使用为开源项目提供的免费托管服务,https://free.discourse.group/

3 个赞

我将把这个移到#ux,这是按设计工作的,设计团队曾有意识地决定在用户界面中折叠这些空格,markdown 本身是正确的。

1 个赞