SKILL.md
Markdown Exporter
Markdown Exporter is an Agent Skill that transforms your Markdown text into a wide variety of professional format files.
This SKILL.md for Agent Skills, the cli tool and Python package markdown-exporter are maintained in the GitHub repository bowenliang123/markdown-exporter by bowenliang123.
Tools and Supported Formats
| Tool | Input (File path of Markdown text or styles) | Output (File path of exported file) |
|---|---|---|
mdtodocx |
📝 Markdown text | 📄 Word document (.docx) |
mdtohtml |
📝 Markdown text | 🌐 HTML file (.html) |
mdtohtml_text |
📝 Markdown text | 🌐 HTML text string |
mdtojira |
📝 Markdown text | 🅹 Jira wiki markup text |
mdtopdf |
📝 Markdown text | 📑 PDF file (.pdf) |
mdtopng |
📝 Markdown text | 🖼️ PNG image (.png), single long page or one image per page |
mdtosvg |
📝 Markdown text | 🖼️ SVG image (.svg), one image per page |
mdtomd |
📝 Markdown text | 📝 Markdown file (.md) |
mdtoipynb |
📝 Markdown text | 📓 Jupyter Notebook (.ipynb) |
mdtopptx |
📝 Markdown slides in Pandoc style | 🎯 PowerPoint (.pptx) |
mdtoxlsx |
📋 Markdown tables | 📊 Excel spreadsheet (.xlsx) |
mdtocsv |
📋 Markdown tables | 📋 CSV file (.csv) |
mdtojson |
📋 Markdown tables | 📦 JSON/JSONL file (.json) |
mdtoxml |
📋 Markdown tables | 🏷️ XML file (.xml) |
mdtolatex |
📋 Markdown tables | 📝 LaTeX file (.tex) |
mdtocodeblock |
💻 Code blocks in Markdown | 📁 Code files by language (.py, .js, .sh, etc.) |
📦 Usage
Overview
Markdown Exporter is available as a PyPI package, which provides a seamless command-line interface for all its functionality.
Installation
# with pip
pip install md-exporter
# with uv
uv tool install md-exporter
# on OpenClaw
npx clawhub install markdown-exporter
Check markdown-exporter command and usages:
markdown-exporter -h
markdown-exporter <subcommand> -h
Basic Usage
Use the markdown-exporter command to access all the tools:
markdown-exporter <subcommand> <args> [options]
Important Notes
- All commands only support file paths as input
- The package handles all dependency management automatically
- You can run the command from anywhere in your system, no need to navigate to the project directory
🔧 Scripts
mdtocsv - Convert Markdown tables to CSV
Converts Markdown tables to CSV format file.
Usage:
markdown-exporter md_to_csv <input> <output> [options]
Arguments:
input- Input Markdown file path containing tablesoutput- Output CSV file path
Options:
--strip-wrapper- Remove code block wrapper if present
Examples:
- Basic conversion:
``bash markdown-exporter mdtocsv /path/input.md /path/output.csv `` This converts all tables in the input Markdown file to CSV format.
- With code block wrapper removal:
``bash markdown-exporter mdtocsv /path/input.md /path/output.csv --strip-wrapper ` This removes any code block wrappers (``) before processing the Markdown.
Sample Markdown Input: Use the "Basic Text and Tables" example from the [Sample Markdown Inputs - Basic Text and Tables](#basic-text-and-tables) section below.
mdtopdf - Convert Markdown to PDF
Converts Markdown text to PDF format with support for Chinese, Japanese, and other languages.
Usage:
markdown-exporter md_to_pdf <input> <output> [options]
Arguments:
input- Input Markdown file pathoutput- Output PDF file path
Options:
--strip-wrapper- Remove code block wrapper if present
Examples:
- Basic conversion:
``bash markdown-exporter mdtopdf /path/input.md /path/output.pdf `` This converts the entire Markdown file to a PDF document.
- With code block wrapper removal:
``bash markdown-exporter mdtopdf /path/input.md /path/output.pdf --strip-wrapper ` This removes any code block wrappers (``) before processing the Markdown.
Sample Markdown Input: Use the "Basic Text and Tables" example from the [Sample Markdown Inputs - Basic Text and Tables](#basic-text-and-tables) section below.
mdtopng - Convert Markdown to PNG
Converts Markdown text to PNG image(s), with support for Chinese, Japanese, and other languages.
Usage:
markdown-exporter md_to_png <input> <output> [options]
Arguments:
input- Input Markdown file pathoutput- Output PNG file path
Options:
--multi-page- Export one PNG per A4 page (numbered files) instead of a single long-page PNG--strip-wrapper- Remove code block wrapper if present
Examples:
- Basic conversion (single long-page image):
``bash markdown-exporter mdtopng /path/input.md /path/output.png `` This renders the entire Markdown document as a single long-page PNG image.
- Multi-page output:
``bash markdown-exporter mdtopng /path/input.md /path/output.png --multi-page ` This exports one PNG per A4 page, saved as output1.png, output2.png`, etc. when the document has multiple pages.
- With code block wrapper removal:
``bash markdown-exporter mdtopng /path/input.md /path/output.png --strip-wrapper ` This removes any code block wrappers (``) before processing the Markdown.
Sample Markdown Input: Use the "Basic Text and Tables" example from the [Sample Markdown Inputs - Basic Text and Tables](#basic-text-and-tables) section below.
mdtosvg - Convert Markdown to SVG
Converts Markdown text to SVG image(s), one SVG per page, with support for Chinese, Japanese, and other languages.
Usage:
markdown-exporter md_to_svg <input> <output> [options]
Arguments:
input- Input Markdown file pathoutput- Output SVG file path
Options:
--strip-wrapper- Remove code block wrapper if present
Examples:
- Basic conversion:
``bash markdown-exporter mdtosvg /path/input.md /path/output.svg ` This converts the Markdown file to SVG image(s), saved as output1.svg, output2.svg`, etc. when the document has multiple pages.
- With code block wrapper removal:
``bash markdown-exporter mdtosvg /path/input.md /path/output.svg --strip-wrapper ` This removes any code block wrappers (``) before processing the Markdown.
Sample Markdown Input: Use the "Basic Text and Tables" example from the [Sample Markdown Inputs - Basic Text and Tables](#basic-text-and-tables) section below.
mdtodocx - Convert Markdown to DOCX
Converts Markdown text to DOCX format file.
Usage:
markdown-exporter md_to_docx <input> <output> [options]
Arguments:
input- Input Markdown file pathoutput- Output DOCX file path
Options:
--template- Path to DOCX template file (optional)--strip-wrapper- Remove code block wrapper if present
Examples:
- Basic conversion:
``bash markdown-exporter mdtodocx /path/input.md /path/output.docx `` This converts the entire Markdown file to a DOCX document.
- With custom template:
``bash markdown-exporter mdtodocx /path/input.md /path/output.docx --template /path/template.docx `` This uses a custom DOCX template for styling.
- With code block wrapper removal:
``bash markdown-exporter mdtodocx /path/input.md /path/output.docx --strip-wrapper ` This removes any code block wrappers (``) before processing the Markdown.
Sample Markdown Input: Use the "Basic Text and Tables" example from the [Sample Markdown Inputs - Basic Text and Tables](#basic-text-and-tables) section below.
mdtoxlsx - Convert Markdown tables to XLSX
Converts Markdown tables to XLSX format with multiple sheets support.
Usage:
markdown-exporter md_to_xlsx <input> <output> [options]
Arguments:
input- Input Markdown file path containing tablesoutput- Output XLSX file path
Options:
--force-text- Convert cell values to text type (default: True)--strip-wrapper- Remove code block wrapper if present
Examples:
- Basic conversion:
``bash markdown-exporter mdtoxlsx /path/input.md /path/output.xlsx `` This converts all tables in the input Markdown file to an XLSX workbook, with each table on a separate sheet.
- With code block wrapper removal:
``bash markdown-exporter mdtoxlsx /path/input.md /path/output.xlsx --strip-wrapper ` This removes any code block wrappers (``) before processing the Markdown.
- With force-text disabled:
``bash markdown-exporter mdtoxlsx /path/input.md /path/output.xlsx --force-text False `` This allows Excel to automatically determine cell types.
Sample Markdown Input: Use the "Basic Text and Tables" example from the [Sample Markdown Inputs - Basic Text and Tables](#basic-text-and-tables) section below.
mdtopptx - Convert Markdown to PPTX
Converts Markdown text to PPTX format file.
Usage:
markdown-exporter md_to_pptx <input> <output> [options]
Arguments:
input- Input Markdown file pathoutput- Output PPTX file path
Options:
--template- Path to PPTX template file (optional)
Examples:
- Basic conversion:
``bash markdown-exporter mdtopptx /path/input.md /path/output.pptx `` This converts the Markdown file to a PowerPoint presentation.
- With custom template:
``bash markdown-exporter mdtopptx /path/input.md /path/output.pptx --template /path/template.pptx `` This uses a custom PowerPoint template for styling.
Sample Markdown Input: Use the "Slides (for PPTX)" example from the [Sample Markdown Inputs - Slides (for PPTX)](#slides-for-pptx) section below.
mdtocodeblock - Extract Codeblocks to Files
Extracts code blocks from Markdown and saves them as individual files.
Usage:
markdown-exporter md_to_codeblock <input> <output> [options]
Arguments:
input- Input Markdown file path containing code blocksoutput- Output directory path or ZIP file path
Options:
--compress- Compress all code blocks into a ZIP file
Examples:
- Extract to directory:
``bash markdown-exporter mdtocodeblock /path/input.md /path/output_dir `` This extracts all code blocks to individual files in the specified directory.
- Extract to ZIP file:
``bash markdown-exporter mdtocodeblock /path/input.md /path/output.zip --compress `` This extracts all code blocks and compresses them into a ZIP file.
Sample Markdown Input: Use the "Code Blocks" example from the [Sample Markdown Inputs - Code Blocks](#code-blocks) section below.
mdtojson - Convert Markdown Tables to JSON
Converts Markdown tables to JSON or JSONL format file.
Usage:
markdown-exporter md_to_json <input> <output> [options]
Arguments:
input- Input Markdown file path containing tablesoutput- Output JSON file path
Options:
--style- JSON output style:jsonl(default) orjson_array--strip-wrapper- Remove code block wrapper if present
Examples:
- Basic conversion (JSONL format):
``bash markdown-exporter mdtojson /path/input.md /path/output.json `` This converts tables to JSON Lines format (one JSON object per line).
- Convert to JSON array:
``bash markdown-exporter mdtojson /path/input.md /path/output.json --style json_array `` This converts tables to a single JSON array of objects.
- With code block wrapper removal:
``bash markdown-exporter mdtojson /path/input.md /path/output.json --strip-wrapper ` This removes any code block wrappers (``) before processing the Markdown.
Sample Markdown Input: Use the "Basic Text and Tables" example from the [Sample Markdown Inputs - Basic Text and Tables](#basic-text-and-tables) section below.
mdtoxml - Convert Markdown to XML
Converts Markdown text to XML format file.
Usage:
markdown-exporter md_to_xml <input> <output> [options]
Arguments:
input- Input Markdown file pathoutput- Output XML file path
Options:
--strip-wrapper- Remove code block wrapper if present
Examples:
- Basic conversion:
``bash markdown-exporter mdtoxml /path/input.md /path/output.xml `` This converts the entire Markdown file to an XML document.
- With code block wrapper removal:
``bash markdown-exporter mdtoxml /path/input.md /path/output.xml --strip-wrapper ` This removes any code block wrappers (``) before processing the Markdown.
Sample Markdown Input: Use the "Basic Text and Tables" example from the [Sample Markdown Inputs - Basic Text and Tables](#basic-text-and-tables) section below.
mdtolatex - Convert Markdown Tables to LaTeX
Converts Markdown tables to LaTeX format file.
Usage:
markdown-exporter md_to_latex <input> <output> [options]
Arguments:
input- Input Markdown file path containing tablesoutput- Output LaTeX file path
Options:
--strip-wrapper- Remove code block wrapper if present
Examples:
- Basic conversion:
``bash markdown-exporter mdtolatex /path/input.md /path/output.tex `` This converts all tables in the input Markdown file to LaTeX format.
- With code block wrapper removal:
``bash markdown-exporter mdtolatex /path/input.md /path/output.tex --strip-wrapper ` This removes any code block wrappers (``) before processing the Markdown.
Sample Markdown Input: Use the "Basic Text and Tables" example from the [Sample Markdown Inputs - Basic Text and Tables](#basic-text-and-tables) section below.
mdtohtml - Convert Markdown to HTML
Converts Markdown text to HTML format file.
Usage:
markdown-exporter md_to_html <input> <output> [options]
Arguments:
input- Input Markdown file pathoutput- Output HTML file path
Options:
--strip-wrapper- Remove code block wrapper if present
Examples:
- Basic conversion:
``bash markdown-exporter mdtohtml /path/input.md /path/output.html `` This converts the entire Markdown file to an HTML document.
- With code block wrapper removal:
``bash markdown-exporter mdtohtml /path/input.md /path/output.html --strip-wrapper ` This removes any code block wrappers (``) before processing the Markdown.
Sample Markdown Input: Use the "Basic Text and Tables" example from the [Sample Markdown Inputs - Basic Text and Tables](#basic-text-and-tables) section below.
mdtohtml_text - Convert Markdown to HTML Text
Converts Markdown text to HTML and outputs to stdout.
Usage:
markdown-exporter md_to_html_text <input>
Arguments:
input- Input Markdown file path
Example:
markdown-exporter md_to_html_text /path/input.md
Sample Markdown Input: Use the "Basic Text and Tables" example from the [Sample Markdown Inputs - Basic Text and Tables](#basic-text-and-tables) section below.
mdtojira - Convert Markdown to Jira Wiki Markup
Converts Markdown text to Jira wiki markup and outputs to stdout.
Usage:
markdown-exporter md_to_jira <input>
Arguments:
input- Input Markdown file path
Example:
markdown-exporter md_to_jira /path/input.md
Sample Markdown Input: Use the "Basic Text and Tables" example from the [Sample Markdown Inputs - Basic Text and Tables](#basic-text-and-tables) section below.
mdtomd - Convert Markdown to MD File
Saves Markdown text to a .md file.
Usage:
markdown-exporter md_to_md <input> <output>
Arguments:
input- Input Markdown file pathoutput- Output MD file path
Example:
markdown-exporter md_to_md /path/input.md /path/output.md
Sample Markdown Input: Use the "Basic Text and Tables" example from the [Sample Markdown Inputs - Basic Text and Tables](#basic-text-and-tables) section below.
mdtoipynb - Convert Markdown to IPYNB
Converts Markdown text to Jupyter Notebook (.ipynb) format file.
Usage:
markdown-exporter md_to_ipynb <input> <output> [options]
Arguments:
input- Input Markdown file pathoutput- Output IPYNB file path
Options:
--strip-wrapper- Remove code block wrapper if present
Examples:
- Basic conversion:
``bash markdown-exporter mdtoipynb /path/input.md /path/output.ipynb `` This converts the Markdown file to a Jupyter Notebook format.
- With code block wrapper removal:
``bash markdown-exporter mdtoipynb /path/input.md /path/output.ipynb --strip-wrapper ` This removes any code block wrappers (``) before processing the Markdown.
Sample Markdown Input: Use the "Code Blocks" example from the [Sample Markdown Inputs - Code Blocks](#code-blocks) section below.
Sample Markdown Inputs
To help you test the various tools, below are common Markdown input examples that represent the content of input files:
Basic Text and Tables
# Test Markdown File
This is a test markdown file for testing various export tools.
## Table Test
| Name | Description | Price |
|------|-------------|-------|
| Item 1 | First item | $10 |
| Item 2 | Second item | $20 |
| Item 3 | Third item | $30 |
## Text Test
This is a paragraph with **bold** and *italic* text.
- List item 1
- List item 2
- List item 3
> This is a blockquote.
Code Blocks
````markdown
Test Markdown File
Code Block Test
print("Hello, World!")
def add(a, b):
return a + b
# Test the function
result = add(5, 3)
print(f"Result: {result}")
# Bash script example
echo "Hello from Bash"
ls -la
// JavaScript example
console.log("Hello from JavaScript");
function multiply(a, b) {
return a * b;
}
````
Slides (for PPTX)
````markdown
title: Markdown Exporter author: Bowen Liang
Introduction
Welcome Slide
Welcome to our Markdown Exporter!
::: notes Remember to greet the audience warmly. :::
Section 1: Basic Layouts
Title and Content
- This is a basic slide with bullet points
- It uses the "Title and Content" layout
- Perfect for simple content presentation
Two Column Layout
::::: columns ::: column Left column content:
- Point 1
- Point 2
::: ::: column Right column content:
- Point A
- Point B
::: :::::
Comparison Layout
::::: columns ::: column Text followed by an image:
::: ::: column
- This triggers the "Comparison" layout
- Useful for side-by-side comparisons
::: :::::
Content with Caption
Here's some explanatory text about the image below.

Section 2: Advanced Features
Code Block
Here's a Python code block:
def greet(name):
return f"Hello, {name}!"
print(greet("World"))
Table Example
| Column 1 | Column 2 | Column 3 |
|---|---|---|
| Row 1 | Data | More |
| Row 2 | Info | Stuff |
Incremental List
::: incremental
- This point appears first
- Then this one
- And finally this one
:::
{background-image="https://example.com/image.jpg"}
::: notes This is a slide with a background image and speaker notes only. The "Blank" layout will be used. :::
Conclusion
Thank You
Thank you for viewing this kitchen sink presentation!
::: notes Remember to thank the audience and invite questions. ::: ````
📝 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-wrapperoption to remove code block wrappers (```) from the input Markdown