Поддерживает ли Slack таблицы уценок? - PullRequest
3 голосов
/ 23 апреля 2019

Я хочу отправить таблицу Markdown в Slack с его postMessage API, но я получил необработанный контент в Slack вместо отрендеренной таблицы. Поддерживает ли Slack таблицы уценок? Есть ли другой способ представления табличных данных в Slack? Я знаю, что Slack не поддерживает HTML.

Я пробовал chat.postMessage и files.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    |"

}

Я ожидал табличного формата, но фактический вывод точно соответствует тому, что я отправил. Это потому, что мое сообщение Markdown неверно или Slack просто не поддерживает таблицы Markdown?

Ответы [ 2 ]

3 голосов
/ 23 апреля 2019

На самом деле, Slack вообще не поддерживает уценку в сообщениях . Он использует свой собственный похожий на первый взгляд формат под названием mrkdwn, который имеет некоторые заметные отличия от Markdown:

  • В Markdown, оба * и _ используются для выделение
  • В уценке, ** и __ используются для жирный
  • In mrkdwn * используется для полужирный и _ используется для выделение
  • Markdown не имеет синтаксиса для зачеркивания (хотя некоторые реализации добавили его, например, в GFM, который использует ~~), но mrkdwn использует ~ для зачеркивания
  • Синтаксис ссылки очень отличается
  • mrkdwn не поддерживает заголовки
  • Вероятно, больше

Не ожидайте, что произвольная Markdown² будет работать в сообщениях Slack.


lackSlack поддерживает Markdown в публикациях , которые можно создать с помощью files.upload конечной точки API , установив filetype в post.

«Обратите внимание, что таблицы не поддерживаются в обычной уценке. Как зачеркивание, некоторые реализации добавили их.

2 голосов
/ 23 апреля 2019

Slack не поддерживает рендеринг таблиц, поэтому эта разметка не будет работать.

У вас есть две альтернативы:

  • Вы можете использовать поля, которые будут отображаться как 2 столбца набольшинство устройств.См. fields в блоках макета .
  • . Вы можете преобразовать свою таблицу в изображение (за пределами Slack) и
    прикрепить изображение к своему сообщению.
...