Bağlantılar İçin Gevşek İşaretleme Çözülmüyor


159

Neyi yanlış yapıyorum? Örnek Markdown bağlantılarından hiçbiri Slack uygulamamda şu ana kadar çalışmıyor.

Aşağıdaki örnekte Slack uygulamamdaki bir sohbete yapıştırdım. Bu örneği gevşek markdown sözdiziminden aldım ve hala Slack App'te gerçek metin olarak ele alıyor:

[like this](http://someurl)

bu yüzden bunu "böyle" yerine Slack sohbetinde bir link olarak görüyorum.

Ya da belki de yukarıdakiler yanlıştır, bu durumda sorum Slack'de nasıl açıkça bağlantılar oluşturursunuz? Belirttiğim bazı metinlerin belirli bir URL'ye (köprü) tıklanabilir olmasını istiyorum.


1
Çözülmemiş bir hata gibi görünüyor (benim için de çalışmıyor) github.com/slackhq/hubot-slack/issues/114
Petr Gazarov

sadece bu işlevi yerine getirmekle kalmıyor, aynı zamanda karanlık bir tema da içermiyorlar! Bu böyle popüler bir araç için çirkin .. Öte yandan bu popüler araçlar aniden tüm popüler olmayan nasıl ...
pkaramol

Yanıtlar:


195

Slack şu anda köprüleri desteklememektedir; şu bağlantıya bakın :

Not : Slack mesajındaki kelimeleri köprülemek mümkün değildir.


GÜNCELLEME:

Slack nihayet bu işlevi sohbet arayüzlerine ekledi ( kaynak ):

  • Metni seçin, ardından biçimlendirme araç çubuğundaki bağlantı simgesini tıklayın
  • Metni seç, daha sonra basın Cmd+ Shift+ UMac veya Ctrl+ Shift+ UWindows / Linux üzerinde.

Paylaşmak istediğiniz bağlantıyı kopyalayıp Bağlantı altındaki boş alana yapıştırın , ardından Kaydet'i tıklayın .


14
Sorusu hakkında spesifik olduğunu slack-apihangi does destek metnini köprü.
spencer.sm

5
Bu talihsiz bir durum. Köprü 20 yıldan uzun süredir var, bunun bir güvenlik sorunu olduğunu varsaymak zor. Süper uzun bağlantıları yapıştırmak gerçekten sinir bozucu, en azından gevşek bir otomatik URL kısaltma hizmeti eklemelisiniz (elbette isteğe bağlı olacaktır).
superarts.org

1
Bu artık mümkün görünüyor. Ama işe yarayamıyorum. Ne yaparsam yapayım, Slack sadece Arraykanaldaki mesaj olarak alır . Buradaki örneklere bakın: api.slack.com/messaging/composing/formatting#linking-urls
TJ Zimmerman

153

Slack kendi markdown lezzetini kullanır:
Slack Markdown Linkler aşağıdaki şekilde çalışır:<http://someurl|like this>

Not: Bunu sadece Slack API'sı üzerinden yapabilirsiniz, sadece Slack istemcisi aracılığıyla gönderdiğiniz basit bir mesaj olarak DEĞİLDİR.

İleti Oluşturucu Örneği Dokümanlar'da Daha Fazla Bilgi
resim açıklamasını buraya girin


63
Slack istemcisi aracılığıyla bunu yapmanın bir yolu var mı?
Chris Miller

5
Ben öyle düşünmüyorum. Slack açıkça girdiyi aşırı karmaşıklaştırmak istemiyor. Daha fazla bu yardım makalesinin altında: get.slack.help/hc/en-us/articles/…
Wilhelm Klopp

262
Aşırı komplikasyontan kaçınmanın bir yolu, Markdown gibi popüler ve köklü bir formata bağlı kalmak olurdu. ;-)
joeytwiddle

74
+ joeytwiddle Bu, Slack'in kasıtlı olarak, şirket politikalarına aykırı olduğundan emin olduğum, kullanıcı dostu ve sezgisel bir şey yaptığı anlamına gelir.
Peter R

6
Lütfen bu özellik isteğini buradan onaylayın
Jules Sam. Randolph

33

Bu, Slack tarafından doğrudan iletiler için henüz desteklenmemektedir, bunu yalnızca Slack API'sını kullanarak yapabilirsiniz. Ancak burada gönderdiğim özellik isteğini onaylayabilirsiniz .


3
Üzgünüz, bozuk bağlantı :(
ocramot

Özellik isteklerini toplamak için büyük kanallarını devre dışı bırakmış görünüyorlar. Umarım bu sadece geçicidir.
Jules Sam. Randolph

Bağlantı kopuk değil. Kurulu kasten devre dışı bıraktılar. Grr.
rmharrison

18

Bugün itibariyle, 2020.02.14, üyesi olduğum Slack örneklerinden birinde köprüler oluşturabilir / yapıştırabilirim! 🎉

köprü ekran görüntüsü

Kopyalama ekibindeki köprüleri toplantı bilgileri Slack'e yapıştırma örneği:

köprü örneğini yapıştır


Slack belgelerini güncelledi . Yine de bunu yapmanın bir yolu yok 😢, yani [blah](https://stackoverflow.com)çalışmıyor.


Düzgün bir özellik, bir URL panoda olduğunda ve bir köprü oluşturduğunda bir metin ve CTRL + V seçin 🥳

metin seç & ctrl + v video]


Bazı tersine mühendislik sayesinde C # üzerinden Windows Panosuna metin koyabilir ve Slack'e yapıştırmayı başardım:

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
Bu oylama cevap çünkü esas. Yapıştır-linkfy'ı seviyorum, kısayol tuşunu seviyorum ... ne yazık ki WYSIWYG'lerini devre dışı bıraktım, böylece yazmaya çalıştığım diğer şeylerle uğraşmayı bırakıyor ve mutlu olanlar için herhangi bir alternatif yok gibi görünüyor düz metinde markdown (-ish) biçimlendirmesi kullanma.
Tyler James Young

@Tyler . Bunu yapan tek kişi ben olmadığım için mutluyum!
frakman1

1
Ben fragman yorumları olmadan çalışmayı başardı
tennabey

5

Reuben 'ın cevabı çalışacaktır ancak burada görüldüğü gibi o, adsız bir dosya yükleme gibi görünecektir: isimsiz dosya Slack için yayınlanmıştır . Burada gördüğünüz gibi ufak bir değişiklikle, ancak, kolayca bir çalışma köprüyü içeren doğal görünümlü mesaj gönderebilir: köprü ile doğal görünümlü Gevşek yazı kullanarak chat.postMessage Slack 's yerine "files.upload" nin Gevşek API yöntemini ve benimseyerek Markdown yerine kendi mesaj biçimlendirmesi . Bu şu şekilde yapılır:

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=trueArgüman Bu örnekte kullanılan, ancak muktedir yararlıdır değildir @kullanıcıları söz ve #kanallara bakın.


5

URL'yi doğrudan markdownmetne dahil ettiğinizde , sunucu tarafından otomatik olarak bir bağlantıya dönüştürülür.

böyle yaz. (Sadece gevşek API kullanarak çalışır. Gevşek botlar / gevşek uygulamalar)

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

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


4
Bu gönderiyi "Görüşme sırasında URL'lere kayıtsız şartsız bağlantı vermek" ile başlatmak ve sonunda bunun yalnızca API yoluyla bir mesaj gönderiyorsanız çalıştığını belirtmek biraz yanıltıcıdır (ki bu bir insan olarak konuşmaya rasgele katılmam değil).
Tyler James Young

4

(Kaplı Mesajlar Slack alternatif olarak Wilhem 'ın cevabı ), API ve kullanım en azından bazı Markdown yoluyla Gevşek Mesajını oluşturabilir. Her ikisi de yaratır <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

veya takas content="..."etmekfile=@post.md

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

Bu files.upload kullanıyor . Kendiniz olarak yayınlamayı denemenin en kolay yolunun eski bir jeton olduğunu düşünüyorum . Kanal kimliğini kanalın URI'sinden alın.


0

Ben bir metin gövdesi içindeki işaretleme bağlantıları gevşek beklediği bağlantı biçimine dönüştürmek için bu kodu yazdı:

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

Ne diyebilirim ki gevşeklik metin içindeki görüntü bağlantılarını desteklemiyor.


-2

Partiye çok geç kaldım, ancak yakın zamanda markdown bağlantılarını kullanarak başvurabileceğiniz bir https bağlantısı oluşturmak için bir URL kısaltıcı kullanabileceğinizi keşfettim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.