macOS clipboard tool that converts Markdown to Rich Text formatting
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file convert_md_to_rt-0.2.2-py3-none-any.whl.
File metadata
- Download URL: convert_md_to_rt-0.2.2-py3-none-any.whl
- Upload date:
- Size: 37.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
005e68939f548cc424900cfaa5fff5235391475694c6a624598bfcbc43244d39
|
|
| MD5 |
b0b1b067a03ab7b8ad7dd4ec4115af28
|
|
| BLAKE2b-256 |
4fc6a9eaae50b226a85b020119ce0014a2e5bfc3852191b41c290932d66e44ff
|