MD→RT (Markdown to Rich Text)
The easiest way to convert Markdown to Rich Text on macOS!
MD→RT automatically converts Markdown in your clipboard to Rich Text formatting. Copy from anywhere, paste anywhere - it's that simple!
🎯 Overview
|
|
Transform your workflow with instant Markdown-to-Rich Text conversion Perfect for developers, writers, and anyone who works with formatted text! |
✨ Features
- 🚀 Zero Setup: Install and run - no configuration needed
- 📱 Menubar Integration: Runs quietly in your menu bar
- 🔄 Real-time Monitoring: Watches your clipboard for Markdown content
- 🎯 Smart Detection: Only converts actual Markdown, ignores plain text
- 💾 Preserves Original: Keeps original text as fallback
🚀 Quick Start
Option 1: PyPI Install (recommended):
pipx run convert-md-to-rt
Available logging levels: --quiet, --verbose, --debug
Option 2: From Source:
git clone https://github.com/taazkareem/convert-md-to-rt.git && cd convert-md-to-rt && python3 -m src.md2rt.menubar
Note: Source installation requires rumps to be installed separately: pip install rumps
How to use:
- Copy any Markdown text (like
**bold**or# Heading) - Paste into rich text apps → you'll see formatting!
- Paste into plain text apps → you'll see original Markdown!
- Control via menu bar: Start/Stop/Quit
The app runs quietly in your menu bar and works automatically!
💡 Pro Use Case
- Copy LLM outputs directly into ClickUp task descriptions with formatting
- Easily send Apple Mail with checkmarked lists or code blocks
- Many more
🛠️ Development
How It Works Under The Hood
MD→RT converts Markdown to Rich Text by:
- Detecting Markdown in clipboard using regex patterns
- Converting to HTML via external API and built-in parser
- Adding browser styling for consistent formatting
- Placing styled HTML in clipboard (preserving original Markdown)
- Rich Text apps render the HTML as formatted text
Note: End users see Rich Text, not HTML - the conversion is seamless.
Prerequisites
- Python 3.9+
- macOS (required for clipboard access)
Setup
# Clone the repository
git clone https://github.com/taazkareem/convert-md-to-rt.git
cd convert-md-to-rt
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Install development dependencies
pip install -e ".[dev]"
Running Tests
pytest
Project Structure
src/md2rt/
├── __init__.py
├── menubar.py # Main menubar app (consolidated)
├── detector.py # Markdown detection logic
├── converter.py # Markdown to HTML conversion
├── clipboard.py # Clipboard operations
└── runner.py # Command-line runner
🤝 Contributing
This is an open-source project! Contributions are welcome:
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
🙏 Acknowledgments
- Conversion Powered by Switchlabs
- ClickUp One app to replace them all
Metadata
Release files for convert-md-to-rt 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| convert_md_to_rt-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Release files / convert_md_to_rt-0.2.2-py3-none-any.whl
| Download URL | convert_md_to_rt-0.2.2-py3-none-any.whl |
|---|---|
| Size | 37.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
005e68939f548cc424900cfaa5fff5235391475694c6a624598bfcbc43244d39
|
|
BLAKE2b-256 checksum How to use checksums |
4fc6a9eaae50b226a85b020119ce0014a2e5bfc3852191b41c290932d66e44ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.23
|