如何在 MS Teams markdown 中插入换行符?

How to insert newline into MS Teams markdown?

当我在 MS Teams (```) 中输入 markdown 格式时,如何在字符串中创建换行符?当人类以 markdown 格式键入时,按 Enter 会导致换行。当我将文本中带有 <br>\n\r\n 的字符串发送到连接器时,它不会创建换行符。我发现我可以转义 markdown,输入 <br>,然后再次输入 markdown,但随后它会重新格式化每一行以删除空格。

那么如何创建换行符并保持间距?

如果这很重要,我正在使用 pymsteams 连接器。

编辑:添加代码示例

import pymsteams
msg = pymsteams.connectorcard('...')
txt = '``` some text \n second line ```'
msg.text(txt)
msg.send()

我也尝试了 txt = '``` some text \r\n second line ```'txt = '``` some text <br> second line ```',但是 3 个选项中的 none 在 "some text" 和 "second line" 之间插入了一个换行符。

你没有提供任何代码,所以很难准确地说出你在尝试什么,但如果我将卡片中的 text 值设置为:

"text": "text": "There is a problem with Push notifications.<br><br>They don't seem to be picked up by the connector."

这是它的呈现方式:

如果您只想发送带有降价文本的连接卡,则无需将文本括在三重反引号中(除非您特别需要预格式化文本)。我们会自动将连接卡中的文本视为降价,除非您将 markdown 属性 设置为 false。

要在markdown中添加换行符,以3个空格+换行符结束该行。例如:

msg.text("Line 1   \nLine 2")

机器人发送的连接卡:

如果您添加了这些三重反引号以获得预格式化的文本,那么您需要将反引号放在它们自己的行上以允许多行文本。例如:

msg.text("```\nLine 1\nLine 2\n```")

连接器发送的连接器卡片:

如果您正在开发连接器或使用传入的 webhook 连接器,则使用不同的解析器,该解析器不会将“```”降价转换为 <pre> 标记。最好回到 HTML,正如 Bill 在下面建议的那样。例如:

msg.text("<pre>Line 1\nLine 2</pre>")

HTML 标签在 <pre> 元素内工作,所以正如您所发现的,这等价于:

msg.text("<pre>Line 1<br>Line 2</pre>")