Slack是否支持Markdown表?

cec*_*048 6 markdown slack-api

我想使用其postMessageAPI 将Markdown表发送到Slack ,但是我在Slack中获得了原始内容,而不是呈现的表。Slack是否支持Markdown表?是否有其他方法可以在Slack中显示表格数据?我知道Slack不支持HTML。

我尝试了chat.postMessagefiles.upload,还设置了具有固定列长的文本格式,但是看起来有点丑陋,所以我想出一种方法来使它看起来更好。

这是我的HTTP请求代码,内容类型为JSON:

url : https://slack.com/api/chat.postMessage
body :
{
    "channel": "RKAID4I",
    "text": " | Tables  | Are   | Cool  |
|---------- |:-------------:    |------:    |
| col 1 is  | left-aligned  | $1600     |
| col 2 is  | centered  | $12   |
| col 3 is  | right-aligned     | $1    |"

}
Run Code Online (Sandbox Code Playgroud)

我期望表格像格式,但是实际输出与我发送的完全一样。是因为我的Markdown消息错误还是Slack根本不支持Markdown表?

Eri*_*ken 16

Slack 不支持表格的呈现,因此此标记将不起作用。

您有两种选择:

  • 您可以使用字段,这些字段在大多数设备上将呈现为 2 列。请参见fields布局块
  • 您可以将您的表格转换为图像(在 Slack 之外)
    并将图像附加到您的消息中。

  • 为了完整起见,您应该知道,在 Slack 消息中使用图像/屏幕截图将使依赖屏幕阅读器技术的盲人或视力障碍用户无法阅读。在求助于屏幕截图之前,请务必尝试其他更易于访问的方法,除非您知道所有当前和未来的收件人都能够查看该图像。 (10认同)
  • 如果结果未显示在 Slack 中,我认为它对 OP 没有多大价值。 (7认同)
  • 您还可以将 Markdown 表粘贴到 GitHub gist(带有 .md 文件扩展名)中,然后在 Slack 中指向该 URL。Markdown 表格在 gist 中的格式很好。不幸的是,Slack 不会提供任何预览,只会提供裸链接。 (3认同)
  • 那么...有没有办法在 Slack 聊天中提交使用字段的常规消息?或者这只能作为 API/集成的输出? (2认同)

小智 13

在 str 消息中的表格之前和之后添加 ```。它将在 slack meassge 中的代码块中进行转换。

  • 这实际上是一个很好的答案。将 Markdown 表制作成代码块将保留间距,因此它看起来就像您期望的那样。它只是不会被渲染成任何类型的正确表格。 (3认同)

Chr*_*ris 10

实际上,Slack完全不支持消息中的 Markdown 。它使用了自己的类似概览格式mrkdwn,该格式与Markdown有一些显着差异:

  • 在Markdown中,*_都用于强调
  • 在Markdown中,**__都用于加粗
  • In mrkdwn *用于粗体_用于强调
  • 降价有没有语法删除线(尽管有些实现都增加了,例如,在GFM它使用~~),但mrkdwn使用~了删除线
  • 链接语法非常不同
  • mrkdwn 不支持标题
  • 可能更多

不要期望任意的Markdown²在Slack消息中起作用。


¹Slack的帖子支持Markdown ,可以使用files.uploadAPI端点设置filetype将其创建post

²请注意,常规Markdown也不支持表格。像删除线一样,一些实现也添加了这些。