Il markdown lento per i collegamenti non viene risolto


159

Che cosa sto facendo di sbagliato? Nessuno dei link Markdown di esempio funziona finora nella mia app Slack.

Ho incollato l'esempio di seguito in una chat nella mia app Slack. Ho preso questo esempio dalla sintassi del markdown lento e lo tratta ancora come testo letterale nell'app Slack:

[like this](http://someurl)

così finisco per vederlo invece che semplicemente "come questo" come link nella chat di Slack.

O forse quanto sopra è sbagliato, nel qual caso la mia domanda sarebbe: come si fa a creare esplicitamente collegamenti in Slack? Voglio che un testo da me specificato sia cliccabile su un URL specifico (collegamento ipertestuale).


1
Sembra essere un bug irrisolto (non funziona neanche per me) github.com/slackhq/hubot-slack/issues/114
Petr Gazarov

non solo non stanno implementando questa funzionalità, ma non includono anche un tema oscuro! questo è scandaloso per uno strumento così popolare ... d'altra parte è così che gli strumenti popolari diventano impopolari all'improvviso ...
pkaramol,

Risposte:


195

Slack attualmente non supporta i collegamenti ipertestuali; vedi questo link che dice:

Nota : non è possibile collegare ipertestuali in un messaggio lento.


AGGIORNARE:

Slack ha finalmente aggiunto questa funzionalità alla sua interfaccia di chat ( fonte ):

  • Seleziona il testo, quindi fai clic sull'icona del link nella barra degli strumenti di formattazione
  • Seleziona il testo, quindi premi Cmd+ Shift+ Usu Mac o Ctrl+ Shift+ Usu Windows / Linux.

Copia il link che desideri condividere e incollalo nel campo vuoto in Link , quindi fai clic su Salva .


14
La domanda riguarda specificamente slack-apiciò che supporta il testo con collegamento ipertestuale.
spencer.sm,

5
Questo è sfortunato. Hyperlink esiste da oltre 20 anni, è difficile supporre che si tratti di un problema di sicurezza. Incollare collegamenti super lunghi è davvero fastidioso, almeno il gioco dovrebbe aggiungere un servizio di abbreviazione automatica degli URL (che sarebbe ovviamente facoltativo).
superarts.org

1
Sembra che ora sia possibile. Ma non riesco a farlo funzionare. Indipendentemente da ciò che faccio, Slack riceve semplicemente Arrayil messaggio nel canale. Vedi gli esempi qui: api.slack.com/messaging/composing/formatting#linking-urls
TJ Zimmerman

153

Slack utilizza il proprio stile di markdown: i
Slack Markdown Links funzionano nel modo seguente:<http://someurl|like this>

Nota: puoi farlo solo tramite l'API Slack e NON solo come un semplice messaggio che invii tramite il client Slack.

Esempio di Message Builder Ulteriori informazioni in Documenti
inserisci qui la descrizione dell'immagine


63
c'è un modo per farlo tramite il client Slack?
Chris Miller,

5
Io non la penso così. Slack esplicitamente non vuole complicare eccessivamente l'input. Altre informazioni in fondo a questo articolo di aiuto: get.slack.help/hc/en-us/articles/…
Wilhelm Klopp,

262
Un modo in cui avrebbero potuto evitare l'eccessiva complicità sarebbe stato quello di attenersi a un formato popolare e consolidato ... come Markdown. ;-)
joeytwiddle,

74
+ joeytwiddle Ciò significherebbe che Slack sta facendo intenzionalmente qualcosa di intuitivo e intuitivo, che sono quasi certo contrario alla loro politica aziendale.
Peter R,

6
Si prega di votare questa richiesta di funzionalità qui: slack.canny.io/feature-requests/p/…
Jules Sam. Randolph,

33

Questo non è ancora supportato da Slack per i messaggi diretti, puoi farlo solo usando l'API Slack. Ma puoi votare la richiesta di funzionalità che ho inviato qui .


3
Siamo spiacenti, link non funzionante :(
ocramot

Sembra che abbiano disabilitato il loro canale intelligente per raccogliere richieste di funzionalità. Spero che sia solo temporaneo.
Jules Sam. Randolph,

Il collegamento non è interrotto. Hanno disabilitato intenzionalmente la scheda. Grr.
rmharrison,

18

Ad oggi, 2020.02.14, in una delle istanze di Slack di cui sono membro, posso creare / incollare collegamenti ipertestuali! 🎉

screenshot del collegamento ipertestuale

Esempio di incollaggio del collegamento ipertestuale dalla copia delle informazioni sulla riunione dei team in Slack:

incolla esempio di collegamento ipertestuale


Slack ha aggiornato la loro documentazione . Ancora nessun modo markdown di farlo però 😢, cioè [blah](https://stackoverflow.com)non funziona.


Funzionalità accurata, seleziona un po 'di testo e CTRL + V quando un URL è negli Appunti e crea un collegamento ipertestuale 🥳

seleziona testo e ctrl + v video]


Attraverso un po 'di reverse engineering sono stato in grado di mettere il testo negli Appunti di Windows via C # e farlo incollare in 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
Eseguito l'upgrade perché questa è essenzialmente la risposta. Adoro il paste-to-linkify, adoro il tasto di scelta rapida ... purtroppo ho disabilitato il loro WYSIWYG in modo che smetta di scherzare con altre cose che sto cercando di scrivere, e non sembra esserci alcuna alternativa per quelli di noi felici usando la formattazione markdown (-ish) in testo semplice.
Tyler James Young,

@Tyler . Sono contento di non essere il solo a farlo!
frakman1

1
Sono riuscito a farlo funzionare senza i commenti frammento
tennabey

5

La risposta di Reuben funzionerà, ma sembrerà un caricamento di file senza titolo, come mostrato qui: file senza titolo pubblicato su Slack . Con una leggera modifica, tuttavia, puoi pubblicare facilmente un messaggio dall'aspetto naturale con un collegamento ipertestuale funzionante come vedi qui: post Slack dall'aspetto naturale con collegamento ipertestuale utilizzando il metodo chat.postMessage Slack api invece di "files.upload" e adottando Slack's propria formattazione del messaggio anziché Markdown. Sarebbe fatto così:

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=trueargomento non viene utilizzato in questo esempio, ma è utile per poter @menzionare gli utenti e #fare riferimento ai canali.


5

Includi l'URL direttamente nel markdowntesto e verrà automaticamente trasformato dal server in un collegamento.

scrivi così. (Funzionerà solo usando l'API slack. Slack bots / slack app)

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

Riferimento: https://api.slack.com/messaging/composing/formatting#linking-urls


4
È un po 'fuorviante iniziare questo post con "Per collegarsi agli URL casualmente in una conversazione" e infine affermare che questo funziona solo se si pubblica un messaggio tramite API (che non è il modo in cui partecipo casualmente alle conversazioni come umano).
Tyler James Young,

4

In alternativa al Slack Messaggi (coperto in Wilhem 's risposta ), è possibile creare messaggi Slack tramite l'API e l'utilizzo almeno un po' Markdown. Entrambi creano <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

o scambia content="..."perfile=@post.md

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

Questo sta usando files.upload . Penso che il modo più semplice per provare a postare te stesso sia con un token legacy . Ottieni l'ID canale dall'URI del canale.


0

Ho scritto questo codice per convertire i collegamenti di markdown all'interno di un corpo di testo nel formato del link che si aspetta:

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

Da quello che posso dire slack non supporta i collegamenti di immagini all'interno del testo.


-2

Super tardi alla festa, ma di recente ho scoperto che è possibile utilizzare un accorciatore di URL per creare un collegamento https a cui è possibile fare riferimento utilizzando i collegamenti markdown.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.