リンクのSlackマークダウンが解決しない


159

何が悪いのですか?これまでの例のMarkdownリンクは、私のSlackアプリでは機能しません。

以下の例では、Slackアプリのチャットに貼り付けました。私はこの例をSlack マークダウン構文から取得しましたが、それでもSlackアプリではリテラルテキストとして扱われます。

[like this](http://someurl)

そのため、Slackチャットのリンクとして単に「このように」ではなく、それが表示されることになります。

または、おそらく上記は間違っています。その場合、私の質問はSlackで明示的にリンクを作成する方法ですか?特定のURL(ハイパーリンク)をクリックできるように指定したテキストが欲しい。


1
未解決のバグのようです(私にとっても機能しません)github.com/slackhq/hubot-slack/issues/114
Petr Gazarov

この機能が実装されていないだけでなく、暗いテーマも含まれていません。これは、そのような人気のあるツールにはとんでもないことです。一方、これは、人気のあるツールが突然不評になる方法です
pkaramol

回答:


195

Slackは現在ハイパーリンクをサポートしていません。このリンクを参照してください:

:Slackメッセージ内の単語にハイパーリンクを設定することはできません。


更新:

Slackはついにこの機能をチャットインターフェース(ソース)に追加しました:

  • テキストを選択し、書式設定ツールバーのリンクアイコンをクリックします
  • テキストを選択し、を押しますCmd+ Shift+ UMacのかCtrl+ Shift+ UのWindows / Linux上。

共有するリンクをコピーして、[ リンク ]の下の空のフィールドに貼り付け、[ 保存 ]をクリックします


14
問題は、具体的slack-apiハイパーリンクされたテキストをサポートするものについてです。
spencer.sm

5
これは残念です。ハイパーリンクは20年以上前から存在しており、これがセキュリティの問題であると想定することは困難です。非常に長いリンクを貼り付けるのは本当に面倒です、少なくともスラックは自動URL短縮サービスを追加する必要があります(もちろんオプションです)。
superarts.org

1
これが可能になったようです。しかし、私はそれを機能させることができません。私が何をしても、Slack Arrayはチャネルのメッセージとして受信します。こちらの例をご覧ください:api.slack.com/messaging/composing/formatting#linking-urls
TJ Zimmerman

153

Slackは独自のマーク
ダウンを使用しています。Slack マークダウンリンクは次のように機能します。<http://someurl|like this>

注:これは、Slack APIを介してのみ行うことができ、Slackクライアントを介して送信する単純なメッセージとしてはできません。

ドキュメント内のメッセージビルダーの例
ここに画像の説明を入力してください


63
Slackクライアントを介してこれを行う方法はありますか?
Chris Miller

5
そうは思いません。Slackは明示的に入力を複雑にしたくない。このヘルプ記事の下部:get.slack.help/hc/en-us/articles/…–
Wilhelm

260
彼らが過度の複雑化を避けることができた1つの方法は、Markdownのような人気のある確立されたフォーマットに固執することでした。;-)
joeytwiddle 2016年

72
+ joeytwiddleこれは、Slackがユーザーフレンドリーで直感的な操作を意図的に行うことを意味します。これは、会社のポリシーに違反していると確信しています。
Peter R

6
ここでは、この機能要求をupvoteしてください:slack.canny.io/feature-requests/p/...
ジュールサムを。ランドルフ

33

これは、ダイレクトメッセージのSlackではまだサポートされていません。これは、Slack APIを使用してのみ実行できます。しかし、私がここに提出した機能リクエストに賛成投票できます


3
申し訳ありませんが、リンクが壊れています:(
ocramot '22

彼らは機能のリクエストを収集するためにキャニーチャネルを無効にしているようです。それが一時的なものであることを願っています。
ジュールサム。ランドルフ

リンクは壊れていません。彼らは意図的にボードを無効にしました。Grr。
rmharrison

18

今日、2020.02.14 のメンバーであるSlackインスタンスの1つで、ハイパーリンクを作成/貼り付けできます!🎉

ハイパーリンクのスクリーンショット

コピーしたチーム会議情報からハイパーリンクをSlackに貼り付ける例:

ハイパーリンクの例を貼り付け


Slackはドキュメントを更新しました。それでも、それを行うためのマークダウン方法はあり[blah](https://stackoverflow.com)ません。つまり、 機能しません。


きちんとした機能。URLがクリップボードにあり、ハイパーリンクが作成されているときに、テキストとCTRL + Vを選択します🥳

テキストとCtrl + Vビデオを選択]


いくつかのリバースエンジニアリングによって、C#を介してWindowsクリップボードにテキストを配置し、それを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);

4
これは本質的に答えなので、賛成です。リンク先貼り付けが好き、ホットキーが好き...残念ながら私はWYSIWYGを無効にしたので、書こうとしている他のことで混乱しないようにしています。プレーンテキストでのmarkdown(-ish)フォーマットの使用。
タイラージェームスヤング

@タイラー。私もこれだけではないので嬉しいです!
frakman1

1
フラグメントのコメントなしでなんとか動作させることができました
tennabey

5

Reuben答えは機能しますが、次のように、無題のファイルアップロードのように見えます。無題のファイルがSlackに投稿されました。わずかな変更では、しかし、あなたは簡単にあなたがここで見るような作業のハイパーリンクを備えた自然なメッセージを投稿することができます:ハイパーリンクと自然なたるみポスト使ってchat.postMessage代わりに「files.upload」のスラックAPIメソッドをと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引数は、この例で使用しますが、できると便利ですされていない@ユーザーに言及し、#チャンネルを参照してください。


5

markdownテキストにURLを直接含めると、サーバーによってリンクに自動変換されます。

このように書きます。(Slack APIを使用することでのみ機能します。Slackボット/ Slackアプリ)

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

リファレンス:https : //api.slack.com/messaging/composing/formatting#linking-urls


2
この投稿を「会話で気軽にURLにリンクするには」から始め、API経由でメッセージを投稿している場合にのみ機能することを最終的に述べることは少し誤解を招きます(APIを介してメッセージを投稿している場合のみです)
タイラージェームスヤング

4

Slackメッセージ(Wilhem回答で説明)の代わりに、APIを介してSlack投稿を作成し、少なくともいくつかの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="..."するfile=@post.md

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

これはfiles.uploadを使用しています。自分で投稿を試みる最も簡単な方法は、レガシートークンを使用することだと思います。チャネルのURIからチャネルIDを取得します。


0

テキストの本文内のマークダウンリンクをスラックが期待するリンク形式に変換するために、このコードを書きました。

      // 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はテキスト内の画像リンクをサポートしていません。


-2

パーティーには遅刻しましたが、URL短縮機能を使用してhttpsリンクを作成し、マークダウンリンクを使用して参照できることを最近発見しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.