Slack Markdown pour les liens ne se résout pas

159

Qu'est-ce que je fais mal? Aucun des exemples de liens Markdown ne fonctionne jusqu'à présent dans mon application Slack.

J'ai collé l'exemple ci-dessous dans une discussion dans mon application Slack. J'ai obtenu cet exemple de la syntaxe de slack markdown et il le traite toujours comme du texte littéral dans l'application Slack:

[like this](http://someurl)

donc je finis par voir cela au lieu de simplement "comme ça" comme un lien dans le chat Slack.

Ou peut-être que ce qui précède est faux, auquel cas ma question serait alors de savoir comment créer explicitement des liens dans Slack? Je veux que le texte que je spécifie soit cliquable vers une URL spécifique (lien hypertexte).

PositiveGuy
la source
1
Semble être un bug non résolu (ne fonctionne pas non plus pour moi) github.com/slackhq/hubot-slack/issues/114
Petr Gazarov
non seulement ils n'implémentent pas cette fonctionnalité, mais ils n'incluent pas non plus de thème sombre! c'est scandaleux pour un outil aussi populaire ... d'un autre côté, c'est ainsi que les outils populaires deviennent impopulaires tout d'un coup ...
pkaramol

Réponses:

195

Slack ne prend actuellement pas en charge les hyperliens; voir ce lien qui dit:

Remarque : il n'est pas possible de créer un lien hypertexte avec des mots dans un message Slack.


METTRE À JOUR:

Slack a enfin ajouté cette fonctionnalité à son interface de chat ( source ):

  • Sélectionnez du texte, puis cliquez sur l'icône de lien dans la barre d'outils de mise en forme
  • Sélectionnez le texte, puis appuyez sur Cmd+ Shift+ Usur Mac ou Ctrl+ Shift+ Usur Windows / Linux.

Copiez le lien que vous souhaitez partager et collez-le dans le champ vide sous Lien , puis cliquez sur Enregistrer .

pillravi
la source
14
La question est spécifiquement de savoir slack-apiqui prend en charge le texte hypertexte.
spencer.sm
5
C'est malheureux. Hyperlink existe depuis plus de 20 ans, il est difficile de supposer qu'il s'agit d'un problème de sécurité. Coller des liens très longs est vraiment ennuyeux, au moins slack devrait ajouter un service de raccourcissement automatique d'URL (qui serait facultatif bien sûr).
superarts.org
1
Il semble que cela soit maintenant possible. Mais je suis incapable de le faire fonctionner. Peu importe ce que je fais, Slack ne reçoit Arrayque le message dans la chaîne. Voir les exemples ici: api.slack.com/messaging/composing/formatting#linking-urls
TJ Zimmerman
153

Slack utilise sa propre saveur de démarque: les
liens de démarque Slack fonctionnent de la manière suivante:<http://someurl|like this>

Remarque: vous ne pouvez le faire que via l'API Slack et PAS simplement comme un simple message que vous envoyez via le client Slack.

Exemple de générateur de message Plus d'informations dans la documentation
entrez la description de l'image ici

Wilhelm Klopp
la source
63
existe-t-il un moyen de le faire via le client Slack?
Chris Miller du
5
Je ne pense pas. Slack ne veut explicitement pas compliquer les entrées. Plus d'informations au bas de cet article d'aide: get.slack.help/hc/en-us/articles/…
Wilhelm Klopp
262
Une façon d'éviter la surcomplication aurait été de s'en tenir à un format populaire et bien établi ... comme Markdown. ;-)
joeytwiddle
74
+ joeytwiddle Cela signifierait que Slack fait intentionnellement quelque chose qui est convivial et intuitif, ce qui, j'en suis sûr, va à l'encontre de la politique de leur entreprise.
Peter R
6
Veuillez voter pour cette demande de fonctionnalité ici: slack.canny.io/feature-requests/p
Jules Sam. Randolph
33

Cela n'est pas encore pris en charge par Slack pour les messages directs, vous ne pouvez le faire qu'à l'aide de l'API Slack. Mais vous pouvez voter pour la demande de fonctionnalité que j'ai soumise ici .

Jules Sam. Randolph
la source
3
Désolé, lien cassé :(
ocramot
Ils semblent avoir désactivé leur canal astucieux pour recueillir les demandes de fonctionnalités. J'espère que ce n'est que temporaire.
Jules Sam. Randolph
Le lien n'est pas rompu. Ils ont intentionnellement désactivé la carte. Grr.
rmharrison le
18

À partir d'aujourd'hui, 14/02/2020, dans l' une des instances Slack dont je suis membre, je peux créer / coller des hyperliens! 🎉

capture d'écran du lien hypertexte

Exemple de collage d'un lien hypertexte depuis la copie des informations de la réunion Teams dans Slack:

coller un exemple de lien hypertexte


Slack a mis à jour sa documentation . Cependant, il n'y a toujours pas de moyen de démarque pour le faire 😢, c'est [blah](https://stackoverflow.com)-à- dire ne fonctionne pas.


Fonctionnalité soignée, sélectionnez du texte et CTRL + V lorsqu'une URL se trouve dans le presse-papiers et crée un lien hypertexte 🥳

sélectionner le texte et ctrl + v vidéo]


Grâce à une ingénierie inverse, j'ai pu mettre du texte dans le presse-papiers de Windows via C # et le faire coller dans 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);
tacheté
la source
6
Vote positif car c'est essentiellement la réponse. J'adore le coller-to-linkify, j'aime le raccourci clavier ... malheureusement, j'ai désactivé leur WYSIWYG pour qu'il arrête de jouer avec d'autres choses que j'essaie d'écrire, et il ne semble pas y avoir d'alternative pour ceux d'entre nous heureux en utilisant le formatage markdown (-ish) en texte brut.
Tyler James Young le
@Tyler . Je suis content de ne pas être le seul à faire ça aussi!
frakman1
1
J'ai réussi à le faire fonctionner sans les commentaires du fragment
tennabey
5

La réponse de Reuben fonctionnera, mais elle ressemblera à un téléchargement de fichier sans titre, comme on le voit ici: fichier sans titre publié sur Slack . Cependant, avec une légère modification, vous pouvez facilement publier un message d'apparence naturelle comportant un lien hypertexte fonctionnel tel que celui que vous voyez ici: un message Slack d'aspect naturel avec un lien hypertexte en utilisant la méthode api chat.postMessage Slack au lieu de "files.upload" et en adoptant celui de Slack. propre formatage de message au lieu de Markdown. Cela serait fait comme ceci:

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

L' link_names=trueargument n'est pas utilisé dans cet exemple, mais est utile pour pouvoir @mentionner les utilisateurs et #faire référence aux canaux.

Michael Roberts
la source
5

Incluez l'URL directement dans le markdowntexte et elle sera automatiquement transformée par le serveur en lien.

écris comme ça. (Cela ne fonctionnera qu'en utilisant l'API slack. Slack bots / applications slack)

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

Référence: https://api.slack.com/messaging/composing/formatting#linking-urls

Prakhil TP
la source
4
Il est un peu trompeur de commencer ce message par "Pour créer un lien vers des URL en passant dans une conversation" et de déclarer finalement que cela ne fonctionne que si vous publiez un message via l'API (ce qui n'est pas ainsi que je participe à des conversations en tant qu'être humain).
Tyler James Young le
4

Comme alternative aux messages Slack (traités dans la réponse de Wilhem ), vous pouvez créer des messages Slack via l'API et utiliser au moins un certain Markdown. Ces deux créent :<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 échanger content="..."contre[email protected]

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

Cela utilise files.upload . Je pense que le moyen le plus simple d'essayer de publier comme vous-même est d' utiliser un jeton hérité . Obtenez l'ID de canal à partir de l'URI du canal.

Ruben
la source
0

J'ai écrit ce code pour convertir les liens de démarque dans un corps de texte dans le format de lien que slack attend:

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

D'après ce que je peux dire, slack ne prend pas en charge les liens d'image dans le texte.

barbe-rat
la source
-2

Très tard à la fête, mais j'ai récemment découvert que vous pouvez utiliser un raccourcisseur d'URL pour créer un lien https que vous pouvez ensuite référencer en utilisant des liens de démarque.

NoobishSRE
la source