Разметка Slack для ссылок не устраняется

Что я делаю неправильно? Ни одна из приведенных в качестве примеров ссылок Markdown пока не работает в моем приложении Slack.

Я вставил приведенный ниже пример в чат в своем приложении Slack. Я получил этот пример из синтаксиса слабой разметки, и он по-прежнему обрабатывает его как буквальный текст в приложении Slack:

[like this](http://someurl)

так что в итоге я вижу это вместо просто «вот так» в виде ссылки в чате Slack.

Или, может быть, это неверно, и тогда мой вопрос будет заключаться в том, как явно создавать ссылки в Slack? Я хочу, чтобы какой-то текст, который я указывал, можно было щелкнуть по определенному URL-адресу (гиперссылка).


person PositiveGuy    schedule 29.03.2016    source источник
comment
Кажется, это неразрешенная ошибка (у меня тоже не работает) github.com/slackhq/ hubot-slack / issues / 114   -  person Petr Gazarov    schedule 30.03.2016
comment
не только они не реализуют эту функцию, они также не включают темную тему! это возмутительно для такого популярного инструмента ... с другой стороны, именно поэтому популярные инструменты внезапно становятся непопулярными ...   -  person pkaramol    schedule 17.01.2018
comment
Синтаксис ссылки на уценку Slack <http://someurl|like this> не такой же, как у github. Я думаю, вы правы, что в некоторых примерах Slack есть эта ошибка, но синтаксис github не работает.   -  person eemz    schedule 31.01.2021


Ответы (11)


Slack в настоящее время не поддерживает гиперссылки; см. эту ссылку, в которой говорится:

Примечание. В сообщении Slack нельзя добавить гиперссылку на слова.


ОБНОВЛЕНИЕ:

Slack наконец-то добавил эту функцию в свой интерфейс чата (источник):

  • Выделите текст, затем щелкните значок ссылки на панели инструментов форматирования.
  • Выделите текст, затем нажмите _1 _ + _ 2 _ + _ 3_ на Mac или _4 _ + _ 5 _ + _ 6_ в Windows / Linux.

Скопируйте ссылку, которой хотите поделиться, и вставьте ее в пустое поле в разделе Ссылка, затем нажмите Сохранить.

person pillravi    schedule 08.03.2017
comment
Вопрос конкретно в slack-api, который поддерживает текст с гиперссылками. - person spencer.sm; 22.05.2017
comment
Это прискорбно. Гиперссылка существует уже более 20 лет, трудно предположить, что это проблема безопасности. Вставка сверхдлинных ссылок действительно раздражает, по крайней мере, в Slack следует добавить службу автоматического сокращения URL-адресов (что, конечно, было бы необязательным). - person superarts.org; 24.04.2019
comment
Кажется, теперь это возможно. Но я не могу заставить его работать. Независимо от того, что я делаю, Slack просто получает Array как сообщение в канале. См. Примеры здесь: api.slack.com/messaging/composing/formatting#linking -urls - person TJ Zimmerman; 03.07.2019
comment
В исходном вопросе задается вопрос о достижении этого с помощью уценки. Этот ответ кажется несвязанным. - person Mike T; 09.09.2020
comment
Стоит упомянуть, что ничего из этого не работает, если вы выберете Format messages with markup в настройках, чтобы избавиться от панели инструментов форматирования текста. - person Roberto; 27.01.2021
comment
Это полезная информация, но она не отвечает на вопрос, который касается использования Markdown. Здесь большая путаница, поскольку есть редактор Slack WSIWYG, есть разметка в клиенте, а затем есть уценка в API-интерфейсе Slack. Я думаю, что исходный вопрос касается уценки в клиенте (по крайней мере, это то, что я хочу сделать). Очевидно, это невозможно, а в Slack отключены запросы функций. - person msw1520; 27.07.2021

Slack использует собственный вариант уценки:
Ссылки Slack Markdown работают следующим образом: <http://someurl|like this>

Примечание. Это можно сделать только через Slack API, а НЕ как простое сообщение, отправленное через клиент Slack.

Пример построителя сообщений
 введите описание изображения здесь Дополнительная информация в Документах

person Wilhelm Klopp    schedule 30.03.2016
comment
есть ли способ сделать это через клиент Slack? - person Chris Miller; 11.07.2016
comment
Я так не думаю. Slack явно не хочет чрезмерно усложнять ввод. Подробнее в нижней части этой справочной статьи: get.slack .help / hc / ru-ru / article / - person Wilhelm Klopp; 13.07.2016
comment
Один из способов избежать чрезмерного усложнения - это придерживаться популярного и хорошо зарекомендовавшего себя формата ... такого как Markdown. ;-) - person joeytwiddle; 15.11.2016
comment
+ joeytwiddle. Это будет означать, что Slack намеренно делает что-то удобное и интуитивно понятное, что, я уверен, противоречит политике их компании. - person Peter R; 10.02.2017
comment
@PeterR Довольно досадно, что Slack не ПОЛНОСТЬЮ поддерживает уценку в таких сообщениях, как gitter.im. - person Bruce Sun; 23.08.2017
comment
Проголосуйте за этот запрос функции здесь: slack.canny.io/feature-requests/p/ - person Jules Sam. Randolph; 10.11.2017
comment
Называть это разновидностью уценки - неверно. На самом деле это больше их собственное форматирование, которое иногда немного похоже на уценку. - person Jasper; 13.03.2018
comment
вы также можете использовать это для электронной почты, например ‹mailto: [email protected] | Alice› - person Shreyan Mehta; 23.10.2019
comment
Ссылка @JulesRandolph не работает - person Pedro77; 07.11.2019
comment
Сегодня был n-й (где n ›10) раз, когда я написал [title](url) ссылку в клиенте Slack, потратил минуту, пытаясь выяснить, есть ли где-нибудь опечатка, поменял порядок () и [] на обратный, а затем погуглил синтаксис, чтобы найти этот ответ. Насколько это менее сложно? - person André Laszlo; 18.11.2019

Это пока не поддерживается Slack для прямых сообщений, вы можете сделать это только с помощью Slack API. Но вы можете проголосовать за запрос функции, который я отправил здесь.

person Jules Sam. Randolph    schedule 09.11.2017
comment
Извините, ссылка битая :( - person ocramot; 22.08.2019
comment
Кажется, они отключили свой хитрый канал для сбора запросов функций. Надеюсь, это временно. - person Jules Sam. Randolph; 23.08.2019
comment
Ссылка не битая. Они намеренно отключили доску. Grr. - person rmharrison; 29.04.2020

С сегодняшнего дня, 2020.02.14, в одном экземпляре Slack, участником которого я являюсь, я могу создавать / вставлять гиперссылки! ????

снимок экрана гиперссылки

Пример вставки гиперссылки из копии информации о собрании Teams в Slack:

вставить пример гиперссылки


Slack обновил свою документацию < / а>. Тем не менее, уценки нет ????, т.е. [blah](https://stackoverflow.com) не работает.


Удобная функция: выделите текст и нажмите CTRL + V, когда URL-адрес находится в буфере обмена и создает гиперссылку ????

выделить текст & ctrl + v видео]


Благодаря некоторой обратной инженерии я смог поместить текст в буфер обмена Windows через C # и вставить его в Slack:

var textToDisplay = "Test";
var url = "https://stackoverflow.com";
var arbitraryText = "Mike D.";
var dataObject = new DataObject();
//to my surprise, the Fragment comments ARE required
dataObject.SetData(DataFormats.Html, @$"<html><body>
    <!--StartFragment-->
    <a href=""{url}"">{textToDisplay}</a>
    <!--EndFragment-->
    </body></html>");
//have to set the Text format too otherwise it won't work
dataObject.SetData(DataFormats.Text, arbitraryText);
Clipboard.SetDataObject(dataObject);
person spottedmahn    schedule 14.02.2020
comment
Проголосовали, потому что это, по сути, ответ. Мне нравится вставка для связывания, нравится горячая клавиша ... к сожалению, я отключил их WYSIWYG, чтобы он больше не мешал другим вещам, которые я пытаюсь написать, и, похоже, нет альтернативы для тех из нас, кто счастлив с использованием форматирования markdown (-ish) в простом тексте. - person Tyler James Young; 06.04.2020
comment
@Tyler. Я рад, что я не единственный, кто это делает! - person frakman1; 01.05.2020
comment
Мне удалось заставить его работать без комментариев к фрагментам - person tennabey; 09.07.2020

Если вы используете Slack-бот или что-то, что использует Slack API, вы сможете использовать синтаксис mrkdwn для своих сообщений.

<http://www.example.com|This message is a link>

Ссылка: https://api.slack.com/reference/surfaces/formatting

person Prakhil TP    schedule 08.11.2019
comment
Это не работает - person code_mechanic; 12.03.2021

ответ от Рувима будет работать, но это будет выглядеть как загрузка файла без названия, как показано здесь: безымянный файл, отправленный в Slack. Однако с небольшими изменениями вы можете легко опубликовать естественное сообщение с рабочей гиперссылкой, например, как вы видите здесь: естественно выглядящая публикация Slack с гиперссылкой с помощью chat.postMessage Slack api вместо files.upload и приняв собственное форматирование сообщений Slack вместо Markdown. Это будет сделано так:

curl -F text="*<https://someurl|like this>*" -F as_user=true -F link_names=true -F channel=C1.....7L -F token=xoxp-... https://slack.com/api/chat.postMessage

Аргумент link_names=true в этом примере не используется, но полезен, чтобы иметь возможность @ упоминать пользователей и # обращаться к каналам.

person Michael Roberts    schedule 16.04.2018

В качестве альтернативы сообщениям Slack (описанным в Wilhem answer), вы можете создавать сообщения Slack через API и использовать хотя бы часть Markdown. Оба они создают <h2><a href="https://someurl">like this</a></h2>:

curl -F filetype=post -F content="# [like this](https://someurl)" -F channels=C1.....7L -F token=xoxp-... https://slack.com/api/files.upload

или поменяйте content="..." на [email protected]

curl -F filetype=post -F [email protected] -F channels=C1.....7L -F token=xoxp-... https://slack.com/api/files.upload

Это использует files.upload. Я думаю, что самый простой способ попробовать публиковать сообщения от себя - использовать устаревший токен. Получите идентификатор канала из URI канала.

person Reuben    schedule 29.03.2018

Я написал этот код, чтобы преобразовать ссылки уценки внутри текста в формат ссылок, которого ожидает Slack:

      // Pretty hacky, convert [sup](http://foo.com) to <http://foo.com|sup>
      const reformatLinks = /\[(.*?)\]\((.*?)\)/g
      const slackBody = body.replace(reformatLinks, (_m, text, url) => `<${url}|${text}>`)

Насколько я могу судить, Slack не поддерживает ссылки на изображения внутри текста.

person ratbeard    schedule 03.05.2019

Ни одна из разметок в других ответах здесь (Markdown, <a|b> и т.д.) больше не работает.

Если вы пишете вручную, для меня есть что-то лучше, чем сочетание клавиш в документации, которое конфликтует с глобальными настройками по умолчанию в Linux, и над ним сложно работать.

Скопируйте свой URL-адрес в буфер обмена, затем выберите текст, который должен быть текстом привязки, и просто вставьте URL-адрес, как если бы вы собирались заменить выделенный текст на URL-адрес. Вместо этого Slack автоматически превращает выделенный текст в ссылку.

person Kev    schedule 20.07.2021

Возникла проблема с этой формой уценки, когда URL-адрес содержит вертикальную полосу | решил это с помощью urltext.replace (|,% 7C)

person lukasell    schedule 06.11.2020

Очень поздно для вечеринки, но недавно я обнаружил, что вы можете использовать сокращатель URL-адресов для создания ссылки https, на которую затем можно ссылаться, используя ссылки уценки.

person NoobishSRE    schedule 28.03.2019