Slack Markdown สำหรับลิงค์จะไม่ได้รับการแก้ไข


159

ผมทำอะไรผิดหรือเปล่า? ไม่มีตัวอย่างลิงค์มาร์กดาวน์ในแอป Slack ของฉัน

ฉันวางในตัวอย่างด้านล่างในการแชทในแอป Slack ของฉัน ฉันได้รับตัวอย่างนี้จากไวยากรณ์ของ slack markdownและมันยังถือว่าเป็นข้อความตามตัวอักษรใน Slack App:

[like this](http://someurl)

ดังนั้นฉันจึงเห็นว่าแทนที่จะเป็น "แบบนี้" เป็นลิงก์ในการแชท Slack

หรืออาจจะผิดข้างต้นซึ่งในกรณีนี้คำถามของฉันจะเป็นอย่างไรคุณสร้างลิงก์ใน Slack อย่างชัดเจนได้อย่างไร ฉันต้องการข้อความที่ฉันระบุให้คลิกไปยัง URL ที่ระบุ (การเชื่อมโยงหลายมิติ)


1
ดูเหมือนว่าจะเป็นข้อผิดพลาดที่ยังไม่ได้แก้ไข (ไม่ได้ผลกับฉันเหมือนกัน) github.com/slackhq/hubot-slack/issues/114
Petr Gazarov

ไม่เพียง แต่ไม่ได้ใช้ฟังก์ชั่นนี้เท่านั้น แต่ยังไม่รวมถึงธีมสีเข้มด้วย! นี่มันช่างน่ากลัวสำหรับเครื่องมือที่ได้รับความนิยม .. ในทางกลับกันนี่คือเครื่องมือที่ได้รับความนิยมไม่เป็นที่นิยมในทันที ...
pkaramol

คำตอบ:


195

การหย่อนในปัจจุบันไม่รองรับไฮเปอร์ลิงก์ ดูลิงค์นี้ซึ่งพูดว่า:

หมายเหตุ : ไม่สามารถเชื่อมโยงหลายมิติคำในข้อความ Slack


UPDATE:

หย่อนในที่สุดได้มีการเพิ่มฟังก์ชั่นนี้อินเตอร์เฟซสนทนาของพวกเขา ( แหล่งที่มา ):

  • เลือกข้อความจากนั้นคลิกไอคอนลิงก์ในแถบเครื่องมือการจัดรูปแบบ
  • เลือกข้อความจากนั้นกดCmd+ Shift+ Uบน Mac หรือ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 Markdown Links ทำงานในวิธีต่อไปนี้:<http://someurl|like this>

หมายเหตุ: คุณสามารถทำเช่นนี้ผ่านทาง API หย่อนและไม่เพียง แต่เป็นข้อความง่ายๆที่คุณส่งผ่านทางลูกค้าหย่อน

ตัวอย่างเครื่องมือสร้างข้อความข้อมูลเพิ่มเติมในเอกสาร
ป้อนคำอธิบายรูปภาพที่นี่


63
มีวิธีทำเช่นนี้ผ่านไคลเอนต์ Slack หรือไม่?
Chris Miller

5
ฉันไม่คิดอย่างนั้น การหย่อนอย่างชัดเจนไม่ต้องการให้อินพุตที่ซับซ้อนมากเกินไป เพิ่มเติมที่ด้านล่างของบทความช่วยเหลือนี้: get.slack.help/hc/en-us/articles/ …
Wilhelm Klopp

260
วิธีหนึ่งที่พวกเขาสามารถหลีกเลี่ยงการใช้งาน overcomplication ได้นั้นต้องอยู่ในรูปแบบที่ได้รับความนิยมและเป็นที่ยอมรับ ... เช่น Markdown ;-)
joeytwiddle

72
+ joeytwiddle นั่นหมายความว่า Slack จงใจทำบางสิ่งที่เป็นมิตรกับผู้ใช้และใช้งานง่ายซึ่งฉันค่อนข้างมั่นใจว่าขัดกับนโยบายของ บริษัท
ปีเตอร์อาร์


33

Slack ยังไม่รองรับข้อความโดยตรงคุณสามารถทำได้โดยใช้ Slack API เท่านั้น แต่คุณสามารถ upvote คำขอคุณสมบัติที่ผมได้ส่งที่นี่


3
ขออภัยลิงก์เสีย :(
ocramot

ดูเหมือนว่าพวกเขาจะปิดการใช้งานช่องแสนรู้เพื่อรวบรวมคำขอคุณลักษณะ หวังว่าจะเป็นเพียงชั่วคราว
จูลส์แซม แรนดอล์ฟ

ลิงค์ไม่เสียหาย พวกเขาตั้งใจปิดการใช้งานบอร์ด Grr
rmharrison

18

ณ วันนี้ 2020.02.14 หนึ่งในกรณี Slack ที่ฉันเป็นสมาชิกอยู่ฉันสามารถสร้าง / วางไฮเปอร์ลิงก์ได้! 🎉

ภาพหน้าจอเชื่อมโยงหลายมิติ

ตัวอย่างการวางไฮเปอร์ลิงก์จากการคัดลอกข้อมูลการประชุมทีมลงใน Slack:

วางตัวอย่างการเชื่อมโยงหลายมิติ


Slack ได้อัพเดทเอกสารของพวกเขาแล้ว ยังไม่มีวิธีการ markdown ในการทำแม้ว่า😢คือ [blah](https://stackoverflow.com)ไม่ทำงาน


คุณสมบัติเรียบร้อยเลือกข้อความและ CTRL + V เมื่อ URL อยู่บนคลิปบอร์ดและสร้างไฮเปอร์ลิงก์🥳

เลือกข้อความ & ctrl + v วิดีโอ]


ด้วยวิศวกรรมย้อนกลับฉันสามารถใส่ข้อความลงในคลิปบอร์ดของ Windows ผ่าน C # และนำไปวางใน 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);

5
โหวตขึ้นเพราะนี่คือคำตอบ ชอบวางเพื่อเชื่อมโยงรักฮอต ... โชคไม่ดีที่ฉันได้ปิดการใช้งาน WYSIWYG ของพวกเขาเพื่อที่จะได้ไม่ยุ่งกับสิ่งอื่น ๆ ที่ฉันพยายามจะเขียนและดูเหมือนจะไม่มีทางเลือกอื่นสำหรับพวกเราที่มีความสุข ใช้การจัดรูปแบบ markdown (-ish) ในข้อความล้วน
Tyler James Young

@ ไทเลอร์ ฉันดีใจที่ฉันไม่ใช่คนเดียวที่ทำเช่นนี้ด้วย!
frakman1

1
ฉันจัดการเพื่อให้ทำงานได้โดยไม่ต้องแสดงความคิดเห็นส่วน
tennabey

5

รูเบน 's คำตอบที่จะทำงาน แต่มันจะมีลักษณะเหมือนการอัปโหลดไฟล์ไม่ได้ตั้งชื่อเท่าที่เห็นนี่: ไฟล์ที่ไม่ระบุชื่อโพสต์ไปหย่อน ด้วยการปรับเปลี่ยนเล็กน้อย แต่คุณสามารถโพสต์ข้อความที่ดูเป็นธรรมชาติที่มีการเชื่อมโยงการทำงานเช่นที่คุณเห็นนี่: ธรรมชาติโพสต์หย่อนมองกับการเชื่อมโยงหลายมิติโดยใช้chat.postMessageวิธีหย่อน API แทน "files.upload" และการนำของหย่อน การจัดรูปแบบข้อความของตัวเองแทน 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

รวม URL โดยตรงในmarkdownข้อความและมันจะถูกแปลงโดยอัตโนมัติในเซิร์ฟเวอร์เป็นลิงค์

เขียนแบบนี้ (มันจะทำงานได้โดยใช้ API slack เท่านั้น. slack bots / slack apps)

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

การอ้างอิง: https://api.slack.com/messaging/composing/formatting#linking-urls


3
มันเป็นความเข้าใจผิดเล็กน้อยที่จะเริ่มโพสต์นี้ด้วย "เพื่อเชื่อมโยงไปยัง URL ในการสนทนา" และในที่สุดก็ระบุว่ามันจะทำงานได้ก็ต่อเมื่อคุณโพสต์ข้อความผ่าน API (ซึ่งไม่ใช่วิธีการที่ฉันเข้าร่วมสนทนาแบบมนุษย์)
Tyler James Young

4

เป็นอีกทางเลือกหนึ่งของ Slack Messages (ครอบคลุมในคำตอบของWilhem ) คุณสามารถสร้าง Slack Posts ผ่าน API และใช้อย่างน้อย 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 ผมคิดว่าวิธีที่ง่ายที่สุดที่จะลองโพสต์เป็นตัวเองอยู่กับโทเค็นเดิม รับ ID ช่องทางจาก URI ของช่อง


0

ฉันเขียนโค้ดนี้เพื่อแปลงลิงก์ markdown ภายในเนื้อความของข้อความเป็นรูปแบบลิงก์ที่หย่อนคาด:

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

จากสิ่งที่ฉันสามารถบอกได้ว่าหย่อนไม่สนับสนุนลิงก์รูปภาพภายในข้อความ


-2

สุดสายไปงานปาร์ตี้ แต่ฉันเพิ่งค้นพบว่าคุณสามารถใช้ตัวย่อ URL เพื่อสร้างลิงค์ https ซึ่งคุณสามารถอ้างอิงโดยใช้ลิงก์มาร์กอัป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.