Skip to main content

Mistune Slack Renderer

Convert Markdown into Slack Block Kit format using Mistune. Useful for LLM-powered chatbots!

Kitchen sink demo

Features

  • Produces Slack Block Kit JSON for posting messages to Slack
  • Renders Slack users, channels, broadcasts, and emojis
  • Supports strikethrough, task lists, URLs, and code blocks
  • Headings, paragraphs, block quotes, and dividers
  • Ordered and bullet lists (with nesting and task-list support)
  • Inline code and fenced code-block rendering
  • Link conversion into Slack link elements
  • Note: images not supported. It should be easy to add by subclassing mistune_slack.renderer.SlackRenderer and adding your own logic (such as you may want to upload the image somewhere as well)

Install

uv add mistune-slack

Usage

from mistune_slack import render_slack_blocks_from_markdown

markdown = "# Hello, *world*!"
blocks = render_slack_blocks_from_markdown(markdown)
print(blocks)  # post `blocks` to Slack

Advanced usage

import mistune
from mistune.plugins.formatting import strikethrough
from mistune.plugins.task_lists import task_lists
from mistune.plugins.url import url

from mistune_slack import SlackRenderer, slack_pluginSlackRenderer

markdown = "# Hello, *world*!"
renderer = mistune.create_markdown(renderer=SlackRenderer(), plugins=[slack_plugin, strikethrough, url, task_lists])
blocks: list[dict] = renderer(markdown)  # type: ignore
print(blocks)  # post `blocks` to Slack

Testing

uv run test

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mistune_slack-0.1.4.tar.gz (71.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mistune_slack-0.1.4-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file mistune_slack-0.1.4.tar.gz.

File metadata

  • Download URL: mistune_slack-0.1.4.tar.gz
  • Upload date:
  • Size: 71.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.1

File hashes

Hashes for mistune_slack-0.1.4.tar.gz
Algorithm Hash digest
SHA256 ae0f2690868328645fc5ca0a7642159e150f342f274046071bfc7fb480f2fea6
MD5 45c2725dbd4ba290461b315cdd59ab60
BLAKE2b-256 813608b5c3ef1757a9638789a2bc03346a612f75fb837ca008b124b2c721df8b

See more details on using hashes here.

File details

Details for the file mistune_slack-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for mistune_slack-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 66b3f0ea3ef034049493c7dafd47f67870804b35a0352fd4ab952e077ca3a5a6
MD5 e5b97090c484c0e86817ee122cd55a8a
BLAKE2b-256 0bbf2f1eb4f250d754994d1671a03b34fecf7ae6023427594ea02fcd394697e5

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page