markdown-exporter
Markdown exporter for transform Markdown text to DOCX, PPTX, XLSX, PDF, PNG, HTML, MD, CSV, JSON, JSONL, XML, Mermaid files, and extract code blocks in Markdown to Python, Bash,JS and etc files. Also known as the md_exporter skill.
Best use case
markdown-exporter is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Markdown exporter for transform Markdown text to DOCX, PPTX, XLSX, PDF, PNG, HTML, MD, CSV, JSON, JSONL, XML, Mermaid files, and extract code blocks in Markdown to Python, Bash,JS and etc files. Also known as the md_exporter skill.
Teams using markdown-exporter should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/markdown-exporter/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How markdown-exporter Compares
| Feature / Agent | markdown-exporter | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Markdown exporter for transform Markdown text to DOCX, PPTX, XLSX, PDF, PNG, HTML, MD, CSV, JSON, JSONL, XML, Mermaid files, and extract code blocks in Markdown to Python, Bash,JS and etc files. Also known as the md_exporter skill.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
## ✨ What is Markdown Exporter?
**Markdown Exporter** is a powerful skill that transforms your Markdown text into a wide variety of professional formats. Whether you need to create polished reports, stunning presentations, organized spreadsheets, or code files—this tool has you covered.
### Tools and Supported Formats
<table>
<tr>
<th>Tool</th>
<th>Input</th>
<th>Output</th>
</tr>
<tr>
<td><code>md_to_docx</code></td>
<td rowspan="6">📝 Markdown</td>
<td>📄 Word document (.docx)</td>
</tr>
<tr>
<td><code>md_to_html</code></td>
<td>🌐 HTML file (.html)</td>
</tr>
<tr>
<td><code>md_to_html_text</code></td>
<td>🌐 HTML text string</td>
</tr>
<tr>
<td><code>md_to_pdf</code></td>
<td>📑 PDF file (.pdf)</td>
</tr>
<tr>
<td><code>md_to_png</code></td>
<td>🖼️ PNG image(s) of PDF pages</td>
</tr>
<tr>
<td><code>md_to_md</code></td>
<td>📝 Markdown file (.md)</td>
</tr>
<tr>
<td><code>md_to_pptx</code></td>
<td>
<div>
📝 Markdown slides
</div>
<div>
in <a href="https://github.com/MartinPacker/md2pptx/blob/master/docs/user-guide.md#creating-slides"> md2pptx </a> style
</div>
</td>
<td>🎯 PowerPoint (.pptx)</td>
</tr>
<tr>
<td><code>md_to_xlsx</code></td>
<td rowspan="5">📋<a href="https://www.markdownguide.org/extended-syntax/#tables"> Markdown tables </a> </td>
<td>📊 Excel spreadsheet (.xlsx)</td>
</tr>
<tr>
<td><code>md_to_csv</code></td>
<td>📋 CSV file (.csv)</td>
</tr>
<tr>
<td><code>md_to_json</code></td>
<td>📦 JSON/JSONL file (.json)</td>
</tr>
<tr>
<td><code>md_to_xml</code></td>
<td>🏷️ XML file (.xml)</td>
</tr>
<tr>
<td><code>md_to_latex</code></td>
<td>📝 LaTeX file (.tex)</td>
</tr>
<tr>
<td><code>md_to_codeblock</code></td>
<td>💻 <a href="https://www.markdownguide.org/extended-syntax/#fenced-code-blocks"> Code blocks in Markdown </a> </td>
<td>📁 Code files by language (.py, .js, .sh, etc.)</td>
</tr>
<tr>
<td><code>md_to_linked_image</code></td>
<td>🖼️ <a href="https://www.markdownguide.org/basic-syntax/#linking-images">Image links in Markdown</a> </td>
<td>🖼️ Downloaded image files</td>
</tr>
<tr>
<td><code>md_to_mermaid</code></td>
<td>📊 <a href="https://mermaid.js.org/">Mermaid diagrams in Markdown</a> </td>
<td>🖼️ PNG image(s) of Mermaid diagrams</td>
</tr>
</table>
## Prerequisites
To use the Markdown Exporter skill, ensure you have the following prerequisites installed:
- Python 3.11 or higher
- (optional) uv package manager
## 📦 Usage
### Overview
All scripts provided in this project are Python scripts located in the `scripts/` directory. All required Python dependencies are declared in the project's [pyproject.toml](./pyproject.toml) file.
### Recommended Execution Method - Using Bash Scripts
We strongly recommend using the bash scripts located in the `scripts/` directory. These scripts provide a seamless experience by automatically handling dependency management and execution:
1. **Automatic Dependency Management**: When you run a bash script from the `scripts/` directory, it will:
- First check if the `uv` package manager is installed
- If `uv` is available, it will use `uv run` to automatically install dependencies and execute the Python script in one step
- If `uv` is not available, it will fall back to using `pip` to install dependencies from `requirements.txt` before executing the script
- Check that Python 3.11 or higher is installed (when using pip fallback)
2. **Execute scripts with bash**:
```bash
scripts/md-exporter <script_name> <args> [options]
```
### Alternative Execution Method - Direct Python Execution
You can also run the Python scripts directly, but you'll need to manage dependencies yourself:
1. **Using uv** (recommended if running directly):
```bash
uv run python scripts/parser/<script_name>.py <args> [options]
```
2. **Using pip**:
```bash
# Install dependencies first
pip install -r requirements.txt
# Then run the script
python scripts/parser/<script_name>.py <args> [options]
```
### Important Notes
- Always navigate to the root directory of the project before executing any scripts.
- The bash scripts in `scripts/` provide the most convenient way to run the tools, as they handle all dependency management automatically.
- All scripts only support file paths as input
## 🔧 Scripts
### md_to_csv - Convert Markdown tables to CSV
Converts Markdown tables to CSV format.
**Usage:**
```bash
scripts/md-exporter md_to_csv <input> <output> [options]
```
**Arguments:**
- `input` - Input Markdown file path
- `output` - Output CSV file path
**Options:**
- `--strip-wrapper` - Remove code block wrapper if present
**Example:**
```bash
scripts/md-exporter md_to_csv /path/input.md /path/output.csv
```
### md_to_pdf - Convert Markdown to PDF
Converts Markdown text to PDF format with support for Chinese, Japanese, and other languages.
**Usage:**
```bash
scripts/md-exporter md_to_pdf <input> <output> [options]
```
**Arguments:**
- `input` - Input Markdown file path
- `output` - Output PDF file path
**Options:**
- `--strip-wrapper` - Remove code block wrapper if present
**Example:**
```bash
scripts/md-exporter md_to_pdf /path/input.md /path/output.pdf
```
### md_to_docx - Convert Markdown to DOCX
Converts Markdown text to DOCX format using pandoc.
**Usage:**
```bash
scripts/md-exporter md_to_docx <input> <output> [options]
```
**Arguments:**
- `input` - Input Markdown file path
- `output` - Output DOCX file path
**Options:**
- `--template` - Path to DOCX template file (optional)
- `--strip-wrapper` - Remove code block wrapper if present
**Example:**
```bash
scripts/md-exporter md_to_docx /path/input.md /path/output.docx
scripts/md-exporter md_to_docx /path/input.md /path/output.docx --template /path/template.docx
```
### md_to_xlsx - Convert Markdown tables to XLSX
Converts Markdown tables to XLSX format with multiple sheets support.
**Usage:**
```bash
scripts/md-exporter md_to_xlsx <input> <output> [options]
```
**Arguments:**
- `input` - Input Markdown file path
- `output` - Output XLSX file path
**Options:**
- `--force-text` - Convert cell values to text type (default: True)
- `--strip-wrapper` - Remove code block wrapper if present
**Example:**
```bash
scripts/md-exporter md_to_xlsx /path/input.md /path/output.xlsx
```
### md_to_pptx - Convert Markdown to PPTX
Converts Markdown text to PPTX format using md2pptx.
**Usage:**
```bash
scripts/md-exporter md_to_pptx <input> <output> [options]
```
**Arguments:**
- `input` - Input Markdown file path
- `output` - Output PPTX file path
**Options:**
- `--template` - Path to PPTX template file (optional)
**Example:**
```bash
scripts/md-exporter md_to_pptx /path/input.md /path/output.pptx
```
### md_to_codeblock - Extract Codeblocks to Files
Extracts code blocks from Markdown and saves them as individual files.
**Usage:**
```bash
scripts/md-exporter md_to_codeblock <input> <output> [options]
```
**Arguments:**
- `input` - Input Markdown file path
- `output` - Output file or directory path
**Options:**
- `--compress` - Compress all code blocks into a ZIP file
**Example:**
```bash
scripts/md-exporter md_to_codeblock /path/input.md /path/output_dir
scripts/md-exporter md_to_codeblock /path/input.md /path/output.zip --compress
```
### md_to_json - Convert Markdown Tables to JSON
Converts Markdown tables to JSON or JSONL format.
**Usage:**
```bash
scripts/md-exporter md_to_json <input> <output> [options]
```
**Arguments:**
- `input` - Input Markdown file path
- `output` - Output JSON file path
**Options:**
- `--style` - JSON output style: `jsonl` (default) or `json_array`
- `--strip-wrapper` - Remove code block wrapper if present
**Example:**
```bash
scripts/md-exporter md_to_json /path/input.md /path/output.json
scripts/md-exporter md_to_json /path/input.md /path/output.json --style json_array
```
### md_to_xml - Convert Markdown to XML
Converts Markdown text to XML format.
**Usage:**
```bash
scripts/md-exporter md_to_xml <input> <output> [options]
```
**Arguments:**
- `input` - Input Markdown file path
- `output` - Output XML file path
**Options:**
- `--strip-wrapper` - Remove code block wrapper if present
**Example:**
```bash
scripts/md-exporter md_to_xml /path/input.md /path/output.xml
```
### md_to_latex - Convert Markdown Tables to LaTeX
Converts Markdown tables to LaTeX format.
**Usage:**
```bash
scripts/md-exporter md_to_latex <input> <output> [options]
```
**Arguments:**
- `input` - Input Markdown file path
- `output` - Output LaTeX file path
**Options:**
- `--strip-wrapper` - Remove code block wrapper if present
**Example:**
```bash
scripts/md-exporter md_to_latex /path/input.md /path/output.tex
```
### md_to_html - Convert Markdown to HTML
Converts Markdown text to HTML format using pandoc.
**Usage:**
```bash
scripts/md-exporter md_to_html <input> <output> [options]
```
**Arguments:**
- `input` - Input Markdown file path
- `output` - Output HTML file path
**Options:**
- `--strip-wrapper` - Remove code block wrapper if present
**Example:**
```bash
scripts/md-exporter md_to_html /path/input.md /path/output.html
```
### md_to_html_text - Convert Markdown to HTML Text
Converts Markdown text to HTML and outputs to stdout.
**Usage:**
```bash
scripts/md-exporter md_to_html_text <input>
```
**Arguments:**
- `input` - Input Markdown file path
**Example:**
```bash
scripts/md-exporter md_to_html_text /path/input.md
```
### md_to_png - Convert Markdown to PNG Images
Converts Markdown text to PNG images (one per page).
**Usage:**
```bash
scripts/md-exporter md_to_png <input> <output> [options]
```
**Arguments:**
- `input` - Input Markdown file path
- `output` - Output PNG file path or directory path
**Options:**
- `--compress` - Compress all PNG images into a ZIP file
- `--strip-wrapper` - Remove code block wrapper if present
**Example:**
```bash
scripts/md-exporter md_to_png /path/input.md /path/output.png
scripts/md-exporter md_to_png /path/input.md /path/output.png --compress
```
### md_to_md - Convert Markdown to MD File
Saves Markdown text to a .md file.
**Usage:**
```bash
scripts/md-exporter md_to_md <input> <output>
```
**Arguments:**
- `input` - Input Markdown file path
- `output` - Output MD file path
**Example:**
```bash
scripts/md-exporter md_to_md /path/input.md /path/output.md
```
### md_to_linked_image - Extract Image Links to Files
Extracts image links from Markdown and downloads them as files.
**Usage:**
```bash
scripts/md-exporter md_to_linked_image <input> <output> [options]
```
**Arguments:**
- `input` - Input Markdown file path
- `output` - Output file or directory path
**Options:**
- `--compress` - Compress all images into a ZIP file
**Example:**
```bash
scripts/md-exporter md_to_linked_image /path/input.md /path/output_dir
scripts/md-exporter md_to_linked_image /path/input.md /path/output.zip --compress
```
### md_to_mermaid - Convert Mermaid Diagrams to PNG
Converts Mermaid diagram code blocks in Markdown to PNG images.
**Usage:**
```bash
scripts/md-exporter md_to_mermaid <input> <output> [options]
```
**Arguments:**
- `input` - Input Markdown file path
- `output` - Output PNG file path or directory path
**Options:**
- `--compress` - Compress all PNG images into a ZIP file
- `--strip-wrapper` - Remove code block wrapper if present
**Example:**
```bash
scripts/md-exporter md_to_mermaid /path/input.md /path/output.png
scripts/md-exporter md_to_mermaid /path/input.md /path/output.zip --compress
```
## 📝 Notes
- All scripts only support file paths as input
- For scripts that generate multiple files (e.g., multiple tables, multiple code blocks), the output filename will be automatically numbered
- Use the `--strip-wrapper` option to remove code block wrappers (```) from the input Markdown
- For PPTX conversion, ensure the `md2pptx` directory is available in the `tools/md_to_pptx/` directoryRelated Skills
chatgpt-exporter-ultimate
Export ALL your ChatGPT conversations instantly — no 24h wait, no extensions. Works via browser relay OR standalone bookmarklet. Extracts full message history with timestamps, roles, and metadata. One command, one JSON file, done.
adding-markdown-highlighted-comments
Use when adding responses to markdown documents with user-highlighted comments, encountering markup errors, or unsure about mark tag placement - ensures proper model-highlight formatting with required attributes and correct placement within markdown elements
agent-exporter
Upload tailored resume to cloud or attach to user session. Handles final formatting and delivery.
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.
vuejs-best-practices
Vue 3 and Nuxt 3 performance optimization and best practices. This skill should be used when writing, reviewing, or refactoring Vue.js code to ensure optimal performance patterns. Triggers on tasks involving Vue components, Nuxt pages, Composition API, Pinia state management, or performance improvements.
vue
Vue 组件开发与代码审查技能 - 开发模式:描述需求时生成高质量 Vue 组件/Composable - 审查模式:/vue <path> 审查该路径下所有 Vue 文件
vue-writer
Skill for creating and editing Vue.js components following Prowi conventions. Use when writing Vue files, creating components, or refactoring frontend code. Enforces modern patterns like defineModel(), TypeScript, and Composition API.
vue-skill
Vue/TypeScriptの実装に関するAgent
vue-playwright-testing
Comprehensive guide for testing Vue 3 applications with Playwright (2025). This skill should be used when writing end-to-end tests or component tests for Vue apps, testing Vue Router navigation, reactive state changes, authentication flows, or setting up Playwright in Vue projects.
vr-ar
VR/AR development principles. Comfort, interaction, performance requirements.
vps-memory
Access Flo's long-term memory on the VPS (OpenClaw). ALWAYS use when the user says "memory", "memories", "remember", "souviens-toi", "rappelle-toi", "save memory", "search memory", "VPS memory", "OpenClaw", or mentions saving/searching past sessions or knowledge.
vpn-localhost-fix
Fix VPN proxy conflicts with local development tools. Use when apps like OpenCode Desktop, VS Code, or other Electron/Tauri-based applications fail to start or connect to their local servers when a VPN proxy is enabled. Symptoms include "Failed to spawn server" errors, connection refused to 127.0.0.1 ports, or apps hanging on startup. Supports Clash Verge and other system proxy VPNs on macOS.