Slack Markdown Formatting



I have been using Slack for a great number of years. But today I discovered a simple feature, that I would have loved to know more about quite some time ago: Slack Posts.

A Slack Post can be created on any desktop device, using a simple /post command. It creates a document, that lives in Slack, can be shared within a channel and edited by all of those who have access to it.

No, in fact, Slack doesn't support Markdown in messages¹ at all. It uses its own similar-at-a-glance format called mrkdwn which has some notable differences with Markdown: In Markdown, both. and are used for emphasis; In Markdown, both. and are used for bold; In mrkdwn.

  • Slack is instant messaging application. Slack has one to one and team collaboration using channels. Markdown in slack are not supported but can be used in messages and posts of slack Users of slack supports plain text messages.
  • Slack Markdown Filter. Contribute to rutan/slackmarkdown development by creating an account on GitHub.

The beauty of the post feature is that it is seamless and intuitive to use. We use the communication tool for all of our meetings, and to share insights. Thus, it is great that I have found a way to capture information quickly, without having to leave the app.

Less clutter

Do you ever get tired of long, unformatted text messages on Slack? I certainly do. That is why I personally love to use short Loom Video Messages to get my core messages across, or to explain something.

Slack Markdown Formatting

But not everyone feels as comfortable in from of their webcam as I do. Most result to writing long, exhausting, single line, unformatted text messages.

Do you remember the days in which we would ask ourselves: “Is this message worth a call, or should I send an email?” -> Slack has not made things easier. It is not just a generations thing; we have all gotten used to writing in Emojis and quick texts, that the art of writing and calling people has gotten less and less.

Yet, sometimes a well writing document or email is simply a lot more effective than a Slack message. Besides, a less cluttered Slack channel makes everyone’s lives a little easier and better.

Collaboration using posts

When you share a Slack post on an open thread or channel, you can choose to allow editing by anyone on the thread. This makes for a great central collaboration tool.

No more google docs (that tend to get lost), or separate Notion pages, just a simple /post command and you are ready to go.

I can imagine that this feature is great for taking meeting notes. Everyone on the channel can contribute, and the results are shared with the whole team, instantly. You can find your posts in the channel, or by using the file browser, which is the central place for all of the documents and files that have been shared (with you) on Slack.

Use them as blog posts

A little bit of markdown formatting goes a long way. Learn the basics on how to make important elements of your text stand out.

You can also use “>” to create a quote, like the one above. All of these are basic commands if you know how to use markdown. But you don’t have to learn everything off by heart. Simply highlight the text you want to format and the options appear.

I do advise you to learn to use these basic commands, though. They really make your texts just so much better and easier to read. I personally try to structure my entries, as if they were short blog articles. It is a good writing exercise and makes it easy to repurpose the content.

My new favorite feature

I’m not sure if this will be my new favorite feature on Slack. There are so many plugins and things that make it a great tool. However, as one of the native, baked in features, it is a powerful one that I would like to explore further in the weeks to come.

One of the things I have noticed, is that you cannot create new posts on mobile devices. That is a bit of a bummer, as I love to use my iPhone and iPad as my main drivers, whenever I can.

What do you think of the Slack Posts feature? Let me know in the thread or comments below.

Also published on Medium.

Tracker uses a version of Markdown (“Tracker-Flavored Markdown”) for description, comments, tasks, blockers and titles. It is very similar to GitHub-Flavored Markdown, which improves upon Standard Markdown in many ways.

Markdown utilizes an easily consumable plaintext syntax to denote rich content elements such as bold/italic items, numbered and bulleted lists, code blocks, headers, and images. Getting started with Markdown is fairly easy. If you’re not familiar with Markdown, it may be worth your while to read Daring Fireball’s Markdown Syntax Guide.

Slack Markdown Formatting Example

Preview markdown

When you use markdown in a story or epic description or comment field, you can click the Preview tab to see how the markdown will render after you save your changes.

Edit modePreview mode

Basic syntax

The following overview will introduce you to some of the most commonly used Markdown Syntax, which can be used in story descriptions, comments, tasks, blockers and titles (though some fields offer limited support, see Where you can use Markdown).

Styling text

StyleSyntaxExampleOutput
Strikethrough~~ ~~~~I didn't mean to write this~~I didn’t mean to write this
Bold** ** or __ __**I love Tracker** or __I love Tracker__I love Tracker
Italic* * or _ _*I love Tracker* or _I love Tracker_I love Tracker
Bold and Italic*** *** or ___ ___***I love Tracker*** or ___I love Tracker___I love Tracker

Blockquotes

Quote your text with a greater-than angle bracket >

Links

Create inline links by wrapping text in brackets [ ], then wrapping the URL in parenthesis ( )

Lists

Create bulleted lists by preceding lines of text with - or *

Create numbered lists by preceding each line with a number. Note that lists beginning with an arbitrary number will automatically be converted to start with 1

Create unordered combination and nested ordered lists by indenting lines with four spaces

Headers

Use anywhere from 1-6 hash # characters at the start of the line, corresponding to header levels 1-6

Inline images

Insert inline images using the following syntax

Inline code blocks

To fence off a span of code, wrap the text with backticks

The word `code` has been fenced off with backticks.

You can add syntax highlighting for quite a few languages, including Gherkin, by adding a language name after the opening three backticks of your fenced code block. See our post “Syntax Highlighting- now with more Gherkin” for more details.

For more on mastering Markdown please see Daring Fireball’s Markdown Syntax Guide as well as GitHub’s Guide to Mastering Markdown.

Tables

Add tables by using three or more hyphens to create a header for each column (---), and separate those columns using pipes (|). Optionally, you can use pipes on either end of your table.

The output will render similar to this:

Cat BreedsTemperament
Maine CoonGentle giant
SiameseChatty Cathy
PantherLess gentle giant

The cell widths can vary and will not affect the rendered output.

Align the text in your columns to the left, right, or center by adding a colon (:) to the left, right, or on both sides of the hyphens within the header row.

Here’s how the above alignment choices will render:

Cat BreedsColorTemperament
Maine CoonAll typesGentle giant
SiameseBlack and tanChatty Cathy
PantherBlack or tanLess gentle giant

Where you can use Markdown

Slack

Description: full Tracker-Flavored Markdown

Activity: full Tracker-Flavored Markdown

Title: only bold, italic, strikethrough, and links

Tasks: only inline Markdown (such as bold, italic, strikethrough, links, story tags, inline code blocks, etc.)

Blockers: full Tracker-Flavored Markdown

Project Profile: full Tracker-Flavored Markdown

Differences from Standard Markdown

Slack Markdown Formatting

New lines

With Standard Markdown, new lines are stripped out between elements, which often causes unintentional formatting issues. Like GitHub-Flavored Markdown, Tracker renders line breaks between content elements as </br> tags, and double line breaks as new paragraphs.

Multiple underscores in words

Markdown interprets * or _ wrapped words and phrases as bold and italic emphasis. Since underscores are often used within text to define method names and variables (e.g., some_method_name), Tracker ignores interior _ and * characters.

URL Auto-linking

Tracker automatically links URLs beginning with http:// or https://. This differs from Standard Markdown, which requires distinct tagging for URLs.

Fenced code blocks and code highlighting

As with GitHub, Tracker enables fenced code blocks by wrapping content with three backticks, whereas Standard Markdown converts text elements prefixed with a tab or spaced text elements to code blocks.

Note:

By default, Tracker does not highlight syntax in code blocks. To enable syntax highlighting, add the language name next to the first line of backticks.

@mention autocompletes

Slack Markdown Syntax

Tracker supports mentioning of team members within comments. Tracker will attempt to autocomplete team members’ names when prefixed with the @ symbol.

Story and epic tagging

Slack Insert Table

Tracker also supports hyperlinking of stories and epics by IDs. Story IDs prefixed with # (e.g., #12345) will link to that story. Epic IDs prefixed with ## (e.g., ##54321) will link to that epic.

Tables In Slack

Slack Markdown Formatting

Similarly, Tracker will detect story URLs and condense them into their associated IDs.