Slack Markdown para links não estão resolvendo


159

O que estou fazendo de errado? Nenhum dos links de exemplo do Markdown funciona até agora no meu aplicativo Slack.

Eu colei no exemplo abaixo em um bate-papo no meu aplicativo Slack. Eu peguei este exemplo da sintaxe do slack markdown e ele ainda o trata como texto literal no aplicativo Slack:

[like this](http://someurl)

então acabo vendo isso em vez de apenas "assim" como um link no bate-papo do Slack.

Ou talvez o acima esteja errado. Nesse caso, minha pergunta seria: como você cria explicitamente links no Slack? Quero que um texto que eu especifique seja clicável em um URL específico (hiperlink).


1
Parece ser bug não resolvido (não funciona para mim também) github.com/slackhq/hubot-slack/issues/114
Petr Gazarov

não apenas eles não estão implementando essa funcionalidade, eles também não incluem um tema sombrio! isso é ultrajante para uma tool..on tão popular outro lado, esta é a forma como ferramentas populares se tornar impopular de repente ...
pkaramol

Respostas:


195

O Slack atualmente não suporta hiperlinks; veja este link que diz:

Nota : Não é possível vincular palavras em uma mensagem do Slack.


ATUALIZAR:

O Slack finalmente adicionou essa funcionalidade à sua interface de bate-papo ( fonte ):

  • Selecione o texto e clique no ícone do link na barra de ferramentas de formatação
  • Selecione o texto e pressione Cmd+ Shift+ Uno Mac ou Ctrl+ Shift+ Uno Windows / Linux.

Copie o link que você deseja compartilhar e cole-o no campo vazio em Link e clique em Salvar .


14
A questão é especificamente sobre o slack-apique faz suporte hiperlinks texto.
Spencer.sm

5
Isto é um infortúnio. O hiperlink existe há mais de 20 anos, é difícil assumir que esse é um problema de segurança. Colar links super longos é realmente irritante, pelo menos o folga deve adicionar um serviço de encurtamento de URL automático (que seria opcional, é claro).
Superarts.org

1
Parece que isso agora é possível. Mas não consigo fazê-lo funcionar. Não importa o que eu faça, o Slack apenas recebe Arraycomo mensagem no canal. Veja os exemplos aqui: api.slack.com/messaging/composing/formatting#linking-urls
TJ Zimmerman

153

O Slack usa seu próprio sabor de remarcação: os
Links de remarcação do Slack funcionam da seguinte maneira:<http://someurl|like this>

Nota: Você pode fazer isso apenas através da API do Slack e NÃO apenas como uma simples mensagem enviada pelo cliente Slack.

Exemplo do Message Builder Mais informações no Documentos
insira a descrição da imagem aqui


63
existe uma maneira de fazer isso através do cliente Slack?
317 Chris Chris Miller

5
Acho que não. O Slack explicitamente não deseja complicar demais a entrada. Mais na parte inferior deste artigo de ajuda: get.slack.help/hc/en-us/articles/…
Wilhelm Klopp

262
Uma maneira de evitar a complicação excessiva seria seguir um formato popular e bem estabelecido ... como o Markdown. ;-)
joeytwiddle

74
+ joeytwiddle Isso significaria que o Slack intencionalmente faria algo amigável e intuitivo, o que tenho certeza que é contra a política da empresa.
Peter R

6
Atualize esta solicitação de recurso aqui: slack.canny.io/feature-requests/p/…
Jules Sam. Randolph

33

Isso ainda não é suportado pelo Slack para mensagens diretas, você só pode fazer isso usando a API do Slack. Mas você pode aprovar a solicitação de recurso que enviei aqui .


3
Desculpe, link quebrado :(
ocramot 22/08/19

Eles parecem ter desativado seu canal inteligente para coletar solicitações de recursos. Espero que seja apenas temporário.
Jules Sam. Randolph

O link não está quebrado. Eles intencionalmente desabilitaram o conselho. Grr.
rmharrison 29/04

18

A partir de hoje, 2020.02.14, em uma das instâncias do Slack em que sou membro, posso criar / colar hiperlinks! 🎉

captura de tela do hiperlink

Exemplo de colagem de hiperlink das equipes de cópia que encontram informações no Slack:

colar exemplo de hiperlink


Slack atualizou sua documentação . Ainda não há uma maneira de fazer isso, ie, ou seja [blah](https://stackoverflow.com), não funciona.


Recurso interessante, selecione algum texto e CTRL + V quando um URL estiver na área de transferência e ele cria um hiperlink 🥳

selecione texto e ctrl + v vídeo]


Por meio de alguma engenharia reversa, pude inserir texto na área de transferência do Windows via C # e colá-lo no 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);

6
Promovido porque esta é essencialmente a resposta. Adoro o colar para vincular, adoro a tecla de atalho ... infelizmente desabilitei o WYSIWYG para que pare de mexer com outras coisas que estou tentando escrever, e não parece haver alternativa para aqueles que estão felizes usando a formatação de marcação (-ish) em texto sem formatação.
Tyler James Young

@Tyler . Estou feliz por não ser o único que faz isso também!
frakman1

1
Eu consegui fazê-lo funcionar sem os comentários do fragmento
tennabey 08/07

5

A resposta de Reuben funcionará, mas parecerá um upload de arquivo sem título, como pode ser visto aqui: arquivo sem título postado no Slack . Com uma pequena modificação, no entanto, você pode postar facilmente uma mensagem com aparência natural, com um hiperlink em funcionamento, como você vê aqui: Post do Slack com aparência natural com hiperlink usando o método da API chat.postMessage Slack em vez de "files.upload" e adotando o Slack's própria formatação de mensagem em vez de Markdown. Isso seria feito assim:

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

O link_names=trueargumento não é usado neste exemplo, mas é útil para poder @mencionar usuários e #consultar canais.


5

Inclua o URL diretamente no markdowntexto e ele será transformado automaticamente pelo servidor em um link.

escreva assim. (Funcionará apenas com a API do slack. Bots do slack / aplicativos do slack)

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

Referência: https://api.slack.com/messaging/composing/formatting#linking-urls


4
É um pouco enganador iniciar esta postagem com "Para vincular URLs casualmente na conversa" e, eventualmente, afirmar que isso só funciona se você estiver postando uma mensagem via API (que não é como eu participo nas conversas como pessoa humana).
Tyler James Young

4

Como uma alternativa para Slack Mensagens (coberto de Wilhem 's resposta ), você pode criar mensagens Slack através da API e uso pelo menos alguns Markdown. Ambos criam <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

ou trocar content="..."porfile=@post.md

curl -F filetype=post -F file=@post.md -F channels=C1.....7L -F token=xoxp-... https://slack.com/api/files.upload

Isso está usando files.upload . Acho que a maneira mais fácil de tentar postar como você é com um token herdado . Obtenha o ID do canal no URI do canal.


0

Eu escrevi este código para converter links de remarcação dentro de um corpo de texto no formato de link que espera que o folga:

      // 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}>`)

Pelo que sei, o slack não suporta links de imagem dentro do texto.


-2

Cheguei tarde demais para a festa, mas recentemente descobri que você pode usar um encurtador de URL para criar um link https, que pode ser consultado usando links de remarcação.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.