Skip to content
This repository has been archived by the owner on Dec 22, 2023. It is now read-only.
/ slack-hawk-down Public archive

Slack-flavored markdown as HTML

Notifications You must be signed in to change notification settings

swiftype/slack-hawk-down

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slack Hawk Down

Slack-flavored markdown as HTML

Installation

npm install --save slack-hawk-down

Usage

Render universal Slack markdown as HTML

import { escapeForSlack, escapeForSlackWithMarkdown } from 'slack-hawk-down'

escapeForSlack(':wave:') // => 'Ґ'
escapeForSlackWithMarkdown('`this is a code block`) // => '<span class="slack_code">this is a code block</span>'

You can view the rest of the markdown styles here

Replace Slack user IDs with user names

escapeForSlack('<@U123|david> did you see my pull request?', { users: { 'U123': 'david', ... } }) // => '@david did you see my pull request?'

You can get a list of the users in your Slack team by requesting this endpoint with a users:read scope

Replace Slack channel IDs with channel names

escapeForSlack('<#C123> please fill out this poll', { channels : { '#C123': 'general', ... } }) // => '#general please fill out this poll'

You can get a list of the users in your Slack team by requesting this endpoint with a channels:read scope

Replace Custom Slack emojis

escapeForSlack(':facepalm:', { customEmoji: { facepalm: 'http://emojis.slackmojis.com/emojis/images/1450319441/51/facepalm.png', ... } }) // => '<img alt="facepalm" src="http://emojis.slackmojis.com/emojis/images/1450319441/51/facepalm.png" />'

You can get a list of custom emoji for your Slack team by requesting this endpoint with a emoji:read scope

Replace subteam names (for paid accounts)

escapeForSlack('<!subteam^S123>', { usergroups: { 'S123': 'swiftype-eng', ...} }) // => 'swiftype-eng'

You can get a list of user groups for your Slack team by requesting this endpoint with a usergroups:read scope

Testing

npm test

Upcoming

  • Customizeable element and class names for markdown elements

Contribution

Please open a pull request or issue

License

MIT