Markdown to Slack

pending

by Tom Ressler

Preserve nested lists and formatting when copying Markdown into Slack.

Updated 15d agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

Markdown to Slack

Copy Markdown from Obsidian into Slack with formatting preserved, including nested lists, bold, italics, links, blockquotes, and code.

Slack is notoriously bad at accepting pasted Markdown directly. This plugin converts your note content into Slack's native rich-text clipboard format before paste, so what you wrote in Obsidian is much closer to what appears in Slack.

Features

  • Copy the current selection to Slack.
  • Copy the entire current note to Slack.
  • Access both actions from the command palette and the editor context menu.
  • Preserve nested bullet lists and other formatting that usually breaks on paste.
  • Run entirely locally on your machine with no network calls at runtime.

Commands

  • Copy selection to Slack
  • Copy current note to Slack

How It Works

Markdown to Slack uses @slackfmt/core to convert Markdown into Slack's internal rich-text Delta format, then writes the clipboard payload Slack expects from Chromium and Electron apps.

The plugin is desktop-only because it relies on bundled native clipboard binaries for macOS, Windows, and Linux.

Privacy

This plugin does not send your notes to any external service. Conversion and clipboard writing happen locally inside Obsidian.

Installation

From Obsidian Community Plugins

  1. Open Settings -> Community plugins.
  2. Turn off Restricted mode if needed.
  3. Browse for Markdown to Slack.
  4. Install and enable the plugin.

Manual installation

  1. Download main.js and manifest.json from the latest GitHub release.

  2. Create this folder inside your vault:

    <your-vault>/.obsidian/plugins/markdown-to-slack/
    
  3. Place main.js and manifest.json in that folder.

  4. Reload Obsidian and enable Markdown to Slack in Settings -> Community plugins.

Usage

  1. Open any Markdown note in Obsidian.
  2. Select the text you want to send to Slack, or leave nothing selected if you want to copy the whole note.
  3. Run Copy selection to Slack or Copy current note to Slack.
  4. Paste into the Slack desktop composer.

Development

Requirements

  • Node.js 18+
  • npm
  • Obsidian desktop

Local setup

npm install
npm run build

For watch mode during development:

npm run dev

Copy the built files into your vault plugin directory:

<your-vault>/.obsidian/plugins/markdown-to-slack/

Files to copy:

  • main.js
  • manifest.json

Testing

Good test cases include:

  • Deeply nested bullet lists
  • Mixed bold, italics, and inline code
  • Links
  • Blockquotes
  • Multi-paragraph selections

Recommended manual test flow:

  1. Build the plugin and install it into a test vault.
  2. Enable the plugin in Obsidian desktop.
  3. Copy a selection with nested lists.
  4. Paste into Slack desktop.
  5. Confirm the formatting matches expectations.

Release Process

  1. Update the version in package.json.

  2. Run:

    npm version patch
    npm run build
    
  3. Create a GitHub release for the version tag.

  4. Upload these release assets:

    • main.js
    • manifest.json
  5. For the first public release, submit the plugin to the Obsidian community plugin list.

Credits

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.