convert-md-to-rt


Nameconvert-md-to-rt JSON
Version 0.2.2 PyPI version JSON
download
home_pageNone
SummarymacOS clipboard tool that converts Markdown to Rich Text formatting
upload_time2025-09-01 19:10:56
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
keywords markdown rich-text clipboard macos menubar
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # MD→RT (Markdown to Rich Text)

[![macOS](https://img.shields.io/badge/macOS-13.0+-000000?logo=apple&logoColor=white)](https://www.apple.com/macos/)
[![Python](https://img.shields.io/badge/Python-3.9+-blue?logo=python&logoColor=white)](https://www.python.org/)
[![Security](https://img.shields.io/badge/Safe%20%26%20Secure-Yes-brightgreen?logo=shield&logoColor=white)](#)
[![Build Status](https://github.com/taazkareem/convert-md-to-rt/actions/workflows/publish.yml/badge.svg?branch=main)](https://github.com/taazkareem/convert-md-to-rt/actions/workflows/publish.yml)
[![PyPI version](https://img.shields.io/pypi/v/convert-md-to-rt.svg?logo=pypi&label=PyPI)](https://pypi.org/project/convert-md-to-rt/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?logo=opensourceinitiative&label=License)](https://opensource.org/licenses/MIT)

**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

<div align="center">
<table>
<tr>
<td align="center" width="200">
<img src="./src/assets/images/icon.png" alt="MD→RT Logo" width="150">
</td>
<td align="left" width="400">

**Transform your workflow with instant Markdown-to-Rich Text conversion**

Perfect for developers, writers, and anyone who works with formatted text!

</td>
</tr>
</table>
</div>

<div align="center">


</div>

## ✨ 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):**
```bash
pipx run convert-md-to-rt
```

*Available logging levels: `--quiet`, `--verbose`, `--debug`*

**Option 2: From Source:**
```bash
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:
1. **Detecting Markdown** in clipboard using regex patterns
2. **Converting to HTML** via external API and built-in parser
3. **Adding browser styling** for consistent formatting
4. **Placing styled HTML** in clipboard (preserving original Markdown)
5. **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
```bash
# 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
```bash
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:

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request

## 🙏 Acknowledgments

- Conversion Powered by [Switchlabs](https://www.switchlabs.dev/)
- [ClickUp](https://clickup.com) One app to replace them all

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "convert-md-to-rt",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "markdown, rich-text, clipboard, macos, menubar",
    "author": null,
    "author_email": "Talib Kareem <your-email@example.com>",
    "download_url": null,
    "platform": null,
    "description": "# MD\u2192RT (Markdown to Rich Text)\n\n[![macOS](https://img.shields.io/badge/macOS-13.0+-000000?logo=apple&logoColor=white)](https://www.apple.com/macos/)\n[![Python](https://img.shields.io/badge/Python-3.9+-blue?logo=python&logoColor=white)](https://www.python.org/)\n[![Security](https://img.shields.io/badge/Safe%20%26%20Secure-Yes-brightgreen?logo=shield&logoColor=white)](#)\n[![Build Status](https://github.com/taazkareem/convert-md-to-rt/actions/workflows/publish.yml/badge.svg?branch=main)](https://github.com/taazkareem/convert-md-to-rt/actions/workflows/publish.yml)\n[![PyPI version](https://img.shields.io/pypi/v/convert-md-to-rt.svg?logo=pypi&label=PyPI)](https://pypi.org/project/convert-md-to-rt/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?logo=opensourceinitiative&label=License)](https://opensource.org/licenses/MIT)\n\n**The easiest way to convert Markdown to Rich Text on macOS!**\n\nMD\u2192RT automatically converts Markdown in your clipboard to Rich Text formatting. Copy from anywhere, paste anywhere - it's that simple!\n\n## \ud83c\udfaf Overview\n\n<div align=\"center\">\n<table>\n<tr>\n<td align=\"center\" width=\"200\">\n<img src=\"./src/assets/images/icon.png\" alt=\"MD\u2192RT Logo\" width=\"150\">\n</td>\n<td align=\"left\" width=\"400\">\n\n**Transform your workflow with instant Markdown-to-Rich Text conversion**\n\nPerfect for developers, writers, and anyone who works with formatted text!\n\n</td>\n</tr>\n</table>\n</div>\n\n<div align=\"center\">\n\n\n</div>\n\n## \u2728 Features\n\n- **\ud83d\ude80 Zero Setup**: Install and run - no configuration needed\n- **\ud83d\udcf1 Menubar Integration**: Runs quietly in your menu bar\n- **\ud83d\udd04 Real-time Monitoring**: Watches your clipboard for Markdown content\n- **\ud83c\udfaf Smart Detection**: Only converts actual Markdown, ignores plain text\n- **\ud83d\udcbe Preserves Original**: Keeps original text as fallback\n\n## \ud83d\ude80 Quick Start\n\n**Option 1: PyPI Install (recommended):**\n```bash\npipx run convert-md-to-rt\n```\n\n*Available logging levels: `--quiet`, `--verbose`, `--debug`*\n\n**Option 2: From Source:**\n```bash\ngit clone https://github.com/taazkareem/convert-md-to-rt.git && cd convert-md-to-rt && python3 -m src.md2rt.menubar\n```\n\n*Note: Source installation requires `rumps` to be installed separately: `pip install rumps`*\n\n**How to use:**\n- Copy any Markdown text (like `**bold**` or `# Heading`)\n- Paste into rich text apps \u2192 you'll see formatting!\n- Paste into plain text apps \u2192 you'll see original Markdown!\n- Control via menu bar: Start/Stop/Quit\n\nThe app runs quietly in your menu bar and works automatically!\n\n\ud83d\udca1 **Pro Use Case**\n- Copy LLM outputs directly into ClickUp task descriptions with formatting\n- Easily send Apple Mail with checkmarked lists or code blocks\n- Many more\n\n## \ud83d\udee0\ufe0f Development\n\n### How It Works Under The Hood\nMD\u2192RT converts Markdown to Rich Text by:\n1. **Detecting Markdown** in clipboard using regex patterns\n2. **Converting to HTML** via external API and built-in parser\n3. **Adding browser styling** for consistent formatting\n4. **Placing styled HTML** in clipboard (preserving original Markdown)\n5. **Rich Text apps** render the HTML as formatted text\n\n*Note: End users see Rich Text, not HTML - the conversion is seamless.*\n\n### Prerequisites\n- Python 3.9+\n- macOS (required for clipboard access)\n\n### Setup\n```bash\n# Clone the repository\ngit clone https://github.com/taazkareem/convert-md-to-rt.git\ncd convert-md-to-rt\n\n# Create virtual environment\npython3 -m venv .venv\nsource .venv/bin/activate\n\n# Install dependencies\npip install -r requirements.txt\n\n# Install development dependencies\npip install -e \".[dev]\"\n```\n\n### Running Tests\n```bash\npytest\n```\n\n### Project Structure\n```\nsrc/md2rt/\n\u251c\u2500\u2500 __init__.py\n\u251c\u2500\u2500 menubar.py          # Main menubar app (consolidated)\n\u251c\u2500\u2500 detector.py         # Markdown detection logic\n\u251c\u2500\u2500 converter.py        # Markdown to HTML conversion\n\u251c\u2500\u2500 clipboard.py        # Clipboard operations\n\u2514\u2500\u2500 runner.py           # Command-line runner\n```\n\n## \ud83e\udd1d Contributing\n\nThis is an open-source project! Contributions are welcome:\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests if applicable\n5. Submit a pull request\n\n## \ud83d\ude4f Acknowledgments\n\n- Conversion Powered by [Switchlabs](https://www.switchlabs.dev/)\n- [ClickUp](https://clickup.com) One app to replace them all\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "macOS clipboard tool that converts Markdown to Rich Text formatting",
    "version": "0.2.2",
    "project_urls": null,
    "split_keywords": [
        "markdown",
        " rich-text",
        " clipboard",
        " macos",
        " menubar"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4fc6a9eaae50b226a85b020119ce0014a2e5bfc3852191b41c290932d66e44ff",
                "md5": "b0b1b067a03ab7b8ad7dd4ec4115af28",
                "sha256": "005e68939f548cc424900cfaa5fff5235391475694c6a624598bfcbc43244d39"
            },
            "downloads": -1,
            "filename": "convert_md_to_rt-0.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b0b1b067a03ab7b8ad7dd4ec4115af28",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 37884,
            "upload_time": "2025-09-01T19:10:56",
            "upload_time_iso_8601": "2025-09-01T19:10:56.581627Z",
            "url": "https://files.pythonhosted.org/packages/4f/c6/a9eaae50b226a85b020119ce0014a2e5bfc3852191b41c290932d66e44ff/convert_md_to_rt-0.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-01 19:10:56",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "convert-md-to-rt"
}
        
Elapsed time: 1.22315s