A Raycast Extension that instantly pastes rich text or HTML content into Markdown.
- Instant Conversion: Convert HTML clipboard content to Markdown with a single command
- Smart Detection: Automatically detects HTML content in clipboard and provides helpful feedback for plain text
- Customizable Output: Configure Markdown formatting through Raycast preferences
- Comprehensive Options: Full control over Markdown formatting with all Turndown options
- Robust Error Handling: Graceful handling of edge cases with clear user feedback
- Command Alias: Quick access with the
pmdalias
- Copy any HTML content from a webpage, email, or document
- Run the "Paste to Markdown" command in Raycast (or use the
pmdalias) - The converted Markdown will be automatically pasted into your active application
- A confirmation HUD message will appear to confirm the action
Customize the Markdown output through Raycast's Preferences pane:
- ATX (default):
## Heading - Setext:
Heading\n---
- Default:
--- - Custom: Any thematic break pattern
- Hyphen (default):
- - Asterisk:
* - Plus:
+
- Fenced (default):
```code``` - Indented: 4-space indentation
- Backticks (default):
``` - Tildes:
~~~
- Underscore (default):
_text_ - Asterisk:
*text*
- Double Asterisk (default):
**text** - Double Underscore:
__text__
- Inline (default):
[text](url) - Referenced:
[text][ref]
- Full (default):
[text][ref] - Collapsed:
[text][] - Shortcut:
[text]
- Built with TypeScript for Raycast
- Uses the Turndown library for HTML-to-Markdown conversion
- Supports all Turndown configuration options for maximum customization
- Follows Raycast extension best practices and conventions
The extension provides clear feedback for various scenarios:
- No HTML content in clipboard
- Plain text content (no conversion needed)
- Conversion errors
- Clipboard access issues
- Paste operation failures
To develop this extension locally:
# Install dependencies
npm install
# Start development mode
npm run dev
# Build for production
npm run build
# Run linting
npm run lint
# Fix linting issues
npm run fix-lintMIT
