@tryfabric/mack
TypeScript icon, indicating that this package has built-in type declarations

1.2.1 • Public • Published

Mack: Markdown to Slack Message Blocks

Convert Markdown and GitHub Flavoured Markdown to Slack BlockKit Blocks

Node.js CI Code Style: Google

Mack is a Markdown parser to convert any Markdown content to Slack BlockKit block objects.

Text is truncated to fit within the Slack API's limits.

Supported Markdown Elements

  • All inline elements (italics, bold, strikethrough, inline code, hyperlinks)
  • Lists (ordered, unordered, checkboxes)
  • All headers
  • Code blocks
  • Block quotes (with some limitations)
  • Images
  • Thematic Breaks / Dividers
  • Tables (alignment not preserved)

Not Yet Supported Markdown Elements

  • Block quotes (limited functionality; does not support lists, headings, or images within the block quote)

Installation

npm install @tryfabric/mack

Usage

import {markdownToBlocks} from '@tryfabric/mack';

const blocks = markdownToBlocks(`
# Hello world

* bulleted item 1
* bulleted item 2

abc _123_

![cat](https://images.unsplash.com/photo-1574158622682-e40e69881006)
`);

The blocks object now results in this payload.

API

function markdownToBlocks(text: string, options: ParsingOptions): KnownBlock[]

  • text: the content to parse
  • options: the options to use when parsing.

Parsing Options

interface ParsingOptions {
  // Configure how lists are displayed
  lists?: ListOptions;
}

interface ListOptions {
  // Configure how checkbox list items are displayed. By default, they are prefixed with '* '
  checkboxPrefix?: (checked: boolean) => string;
}

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.2.1
    1,723
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 1.2.1
    1,723

Package Sidebar

Install

npm i @tryfabric/mack

Weekly Downloads

1,328

Version

1.2.1

License

MIT

Unpacked Size

61.2 kB

Total Files

35

Last publish

Collaborators

  • endbug
  • juliarosenson
  • marissamary