# Format Convert Copy [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Build & Test](https://github.com/shallow1992/obsidian-format-convert-copy/actions/workflows/build-test.yml/badge.svg)](https://github.com/shallow1992/obsidian-format-convert-copy/actions/workflows/build-test.yml) [![Latest Release](https://img.shields.io/github/v/release/shallow1992/obsidian-format-convert-copy)](https://github.com/shallow1992/obsidian-format-convert-copy/releases/latest) [![Obsidian](https://img.shields.io/badge/Obsidian-Desktop%20%26%20Mobile-7C3AED.svg)](https://obsidian.md) **Format Convert Copy** is a lightning-fast Obsidian plugin that converts selected Markdown text or active notes into **Slack**, **Discord**, and **WhatsApp** formats—or copies clean raw Markdown—with a single tap or shortcut. Designed from the ground up for seamless cross-platform usage across **Desktop (macOS, Windows, Linux)** and **Mobile (iOS, Android)**. [English Guide](#features) | [日本語ドキュメント](#日本語ガイド) --- ## Features - 🌐 **Multilingual Support (i18n)**: Automatically detects Obsidian's UI language to provide a native interface in English (default) and Japanese. - 🚀 **One-Tap Multi-Platform Copy**: - **Slack**: Synthesizes Slack's internal Quill Delta format (`slack/texty`) on Desktop for native code blocks, 5-level nested lists, blockquotes, and formatting, with clean mrkdwn fallback for mobile. - **Discord**: Full Discord Markdown conversion (`**bold**`, `*italic*`, `__underline__`, `~~strike~~`, code fences). - **WhatsApp**: WhatsApp-specific formatting (`*bold*`, `_italic_`, `~strike~`, expanded link syntax). - **Raw Markdown**: Cleanly copy active note or selection without formatting modifications. - 📱 **Built for Mobile Ergonomics (iOS & Android)**: - **Mobile Navigation Bar**: Direct copy buttons or full format selection menu. - **Mobile Keyboard Toolbar**: Distinct, recognizable icons (`share-2`, `message-square`, `message-circle`, `file-text`, `copy`) for one-tap toolbar access. - **File Explorer Long-Press**: Convert entire notes directly from file lists without opening them. - 📐 **Automatic Markdown Table Formatting**: - Automatically aligns columns and formats Markdown tables into monospace code blocks (` ``` ` / `
`) so tables never misalign in chat apps.
  - Full support for CJK (Japanese, Chinese, Korean) double-width character alignment.
- 🧮 **LaTeX / MathJax Protection**:
  - Inline math (`$...$`) and block math (`$$...$$`) are protected against accidental formatting (prevents subscripts `_` and asterisks `*` from corrupting formulas).
- 🖼️ **Embed & Attachment Normalization**:
  - Wikilink embeds (`![[screenshot.png|300]]`, `![[document.pdf]]`) are cleanly converted to readable placeholders (`[image: screenshot.png]`, `[attachment: document.pdf]`).
- 🔒 **Security First (URL Scheme Sanitization)**:
  - Validates URL schemes in links, blocking dangerous protocols like `javascript:` and `data:`.
- 🔔 **Customizable Notification**:
  - Toggle copy success toast notifications on or off for seamless, uninterrupted workflows. Error notifications will always be displayed.
- 🎯 **Smart Empty Selection**:
  - Configurable behavior when no text is selected: copy the **entire note** or just the **current cursor line**.

---

## Syntax Conversion Comparison

| Obsidian Syntax | Slack (Desktop: texty / Mobile: HTML) | Discord | WhatsApp |
| :--- | :--- | :--- | :--- |
| `**Bold**` / `__Bold__` | `*Bold*` / `Bold` | `**Bold**` | `*Bold*` |
| `*Italic*` / `_Italic_` | `_Italic_` / `Italic` | `*Italic*` | `_Italic_` |
| `~~Strikethrough~~` | `~Strikethrough~` / `...` | `~~Strikethrough~~` | `~Strikethrough~` |
| `Underline` | Plain text / `Underline` | `__Underline__` (native underline) | Plain text (stripped) |
| `# Heading` | `*Heading*` / `Heading` | `#..### Heading` (preserved) / `####..######` (bold fallback) | `*Heading*` (bold fallback) |
| `1. Numbered List` | `1. Item` (5-level nested list) | `1. Item` | `1. Item` |
| `- Bullet` / `* Bullet` | `• Bullet` / `