Skillshub markdown-exporter
Convert Markdown text to DOCX, PPTX, XLSX, PDF, PNG, HTML, IPYNB, MD, CSV, JSON, JSONL, XML files, and extract code blocks in Markdown to Python, Bash,JS and etc files.
git clone https://github.com/ComeOnOliver/skillshub
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bowenliang123/markdown-exporter/SKILL.md" ~/.claude/skills/comeonoliver-skillshub-markdown-exporter && rm -rf "$T"
skills/bowenliang123/markdown-exporter/SKILL.md/SKILL.mdMarkdown 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
are maintained in the GitHub repository bowenliang123/markdown-exporter by bowenliang123.markdown-exporter
Tools and Supported Formats
| Tool | Input (File path of Markdown text or styles) | Output (File path of exported file) |
|---|---|---|
| 📝 Markdown text | 📄 Word document (.docx) |
| 📝 Markdown text | 🌐 HTML file (.html) |
| 📝 Markdown text | 🌐 HTML text string |
| 📝 Markdown text | 📑 PDF file (.pdf) |
| 📝 Markdown text | 🖼️ PNG image(s) of PDF pages |
| 📝 Markdown text | 📝 Markdown file (.md) |
| 📝 Markdown text | 📓 Jupyter Notebook (.ipynb) |
| 📝 Markdown slides in Pandoc style | 🎯 PowerPoint (.pptx) |
| 📋 Markdown tables | 📊 Excel spreadsheet (.xlsx) |
| 📋 Markdown tables | 📋 CSV file (.csv) |
| 📋 Markdown tables | 📦 JSON/JSONL file (.json) |
| 📋 Markdown tables | 🏷️ XML file (.xml) |
| 📋 Markdown tables | 📝 LaTeX file (.tex) |
| 💻 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
md_to_csv - Convert Markdown tables to CSV
Converts Markdown tables to CSV format file.
Usage:
markdown-exporter md_to_csv <input> <output> [options]
Arguments:
- Input Markdown file path containing tablesinput
- Output CSV file pathoutput
Options:
- Remove code block wrapper if present--strip-wrapper
Examples:
-
Basic conversion:
markdown-exporter md_to_csv /path/input.md /path/output.csvThis converts all tables in the input Markdown file to CSV format.
-
With code block wrapper removal:
markdown-exporter md_to_csv /path/input.md /path/output.csv --strip-wrapperThis 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 section below.
md_to_pdf - 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 Markdown file pathinput
- Output PDF file pathoutput
Options:
- Remove code block wrapper if present--strip-wrapper
Examples:
-
Basic conversion:
markdown-exporter md_to_pdf /path/input.md /path/output.pdfThis converts the entire Markdown file to a PDF document.
-
With code block wrapper removal:
markdown-exporter md_to_pdf /path/input.md /path/output.pdf --strip-wrapperThis 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 section below.
md_to_docx - Convert Markdown to DOCX
Converts Markdown text to DOCX format file.
Usage:
markdown-exporter md_to_docx <input> <output> [options]
Arguments:
- Input Markdown file pathinput
- Output DOCX file pathoutput
Options:
- Path to DOCX template file (optional)--template
- Remove code block wrapper if present--strip-wrapper
Examples:
-
Basic conversion:
markdown-exporter md_to_docx /path/input.md /path/output.docxThis converts the entire Markdown file to a DOCX document.
-
With custom template:
markdown-exporter md_to_docx /path/input.md /path/output.docx --template /path/template.docxThis uses a custom DOCX template for styling.
-
With code block wrapper removal:
markdown-exporter md_to_docx /path/input.md /path/output.docx --strip-wrapperThis 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 section below.
md_to_xlsx - 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 Markdown file path containing tablesinput
- Output XLSX file pathoutput
Options:
- Convert cell values to text type (default: True)--force-text
- Remove code block wrapper if present--strip-wrapper
Examples:
-
Basic conversion:
markdown-exporter md_to_xlsx /path/input.md /path/output.xlsxThis converts all tables in the input Markdown file to an XLSX workbook, with each table on a separate sheet.
-
With code block wrapper removal:
markdown-exporter md_to_xlsx /path/input.md /path/output.xlsx --strip-wrapperThis removes any code block wrappers (```) before processing the Markdown.
-
With force-text disabled:
markdown-exporter md_to_xlsx /path/input.md /path/output.xlsx --force-text FalseThis 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 section below.
md_to_pptx - Convert Markdown to PPTX
Converts Markdown text to PPTX format file.
Usage:
markdown-exporter md_to_pptx <input> <output> [options]
Arguments:
- Input Markdown file pathinput
- Output PPTX file pathoutput
Options:
- Path to PPTX template file (optional)--template
Examples:
-
Basic conversion:
markdown-exporter md_to_pptx /path/input.md /path/output.pptxThis converts the Markdown file to a PowerPoint presentation.
-
With custom template:
markdown-exporter md_to_pptx /path/input.md /path/output.pptx --template /path/template.pptxThis uses a custom PowerPoint template for styling.
Sample Markdown Input: Use the "Slides (for PPTX)" example from the Sample Markdown Inputs - Slides (for PPTX) section below.
md_to_codeblock - 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 Markdown file path containing code blocksinput
- Output directory path or ZIP file pathoutput
Options:
- Compress all code blocks into a ZIP file--compress
Examples:
-
Extract to directory:
markdown-exporter md_to_codeblock /path/input.md /path/output_dirThis extracts all code blocks to individual files in the specified directory.
-
Extract to ZIP file:
markdown-exporter md_to_codeblock /path/input.md /path/output.zip --compressThis 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 section below.
md_to_json - 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 Markdown file path containing tablesinput
- Output JSON file pathoutput
Options:
- JSON output style:--style
(default) orjsonljson_array
- Remove code block wrapper if present--strip-wrapper
Examples:
-
Basic conversion (JSONL format):
markdown-exporter md_to_json /path/input.md /path/output.jsonThis converts tables to JSON Lines format (one JSON object per line).
-
Convert to JSON array:
markdown-exporter md_to_json /path/input.md /path/output.json --style json_arrayThis converts tables to a single JSON array of objects.
-
With code block wrapper removal:
markdown-exporter md_to_json /path/input.md /path/output.json --strip-wrapperThis 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 section below.
md_to_xml - Convert Markdown to XML
Converts Markdown text to XML format file.
Usage:
markdown-exporter md_to_xml <input> <output> [options]
Arguments:
- Input Markdown file pathinput
- Output XML file pathoutput
Options:
- Remove code block wrapper if present--strip-wrapper
Examples:
-
Basic conversion:
markdown-exporter md_to_xml /path/input.md /path/output.xmlThis converts the entire Markdown file to an XML document.
-
With code block wrapper removal:
markdown-exporter md_to_xml /path/input.md /path/output.xml --strip-wrapperThis 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 section below.
md_to_latex - Convert Markdown Tables to LaTeX
Converts Markdown tables to LaTeX format file.
Usage:
markdown-exporter md_to_latex <input> <output> [options]
Arguments:
- Input Markdown file path containing tablesinput
- Output LaTeX file pathoutput
Options:
- Remove code block wrapper if present--strip-wrapper
Examples:
-
Basic conversion:
markdown-exporter md_to_latex /path/input.md /path/output.texThis converts all tables in the input Markdown file to LaTeX format.
-
With code block wrapper removal:
markdown-exporter md_to_latex /path/input.md /path/output.tex --strip-wrapperThis 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 section below.
md_to_html - Convert Markdown to HTML
Converts Markdown text to HTML format file.
Usage:
markdown-exporter md_to_html <input> <output> [options]
Arguments:
- Input Markdown file pathinput
- Output HTML file pathoutput
Options:
- Remove code block wrapper if present--strip-wrapper
Examples:
-
Basic conversion:
markdown-exporter md_to_html /path/input.md /path/output.htmlThis converts the entire Markdown file to an HTML document.
-
With code block wrapper removal:
markdown-exporter md_to_html /path/input.md /path/output.html --strip-wrapperThis 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 section below.
md_to_html_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 Markdown file pathinput
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 section below.
md_to_png - Convert Markdown to PNG Images
Converts Markdown text to PNG images (one per page).
Usage:
markdown-exporter md_to_png <input> <output> [options]
Arguments:
- Input Markdown file pathinput
- Output PNG file path or directory pathoutput
Options:
- Compress all PNG images into a ZIP file--compress
- Remove code block wrapper if present--strip-wrapper
Examples:
-
Basic conversion:
markdown-exporter md_to_png /path/input.md /path/output.pngThis converts the Markdown file to PNG images (one per page).
-
With compression:
markdown-exporter md_to_png /path/input.md /path/output.png --compressThis converts the Markdown file to PNG images and compresses them into a ZIP file.
-
With code block wrapper removal:
markdown-exporter md_to_png /path/input.md /path/output.png --strip-wrapperThis 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 section below.
md_to_md - Convert Markdown to MD File
Saves Markdown text to a .md file.
Usage:
markdown-exporter md_to_md <input> <output>
Arguments:
- Input Markdown file pathinput
- Output MD file pathoutput
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 section below.
md_to_ipynb - Convert Markdown to IPYNB
Converts Markdown text to Jupyter Notebook (.ipynb) format file.
Usage:
markdown-exporter md_to_ipynb <input> <output> [options]
Arguments:
- Input Markdown file pathinput
- Output IPYNB file pathoutput
Options:
- Remove code block wrapper if present--strip-wrapper
Examples:
-
Basic conversion:
markdown-exporter md_to_ipynb /path/input.md /path/output.ipynbThis converts the Markdown file to a Jupyter Notebook format.
-
With code block wrapper removal:
markdown-exporter md_to_ipynb /path/input.md /path/output.ipynb --strip-wrapperThis removes any code block wrappers (```) before processing the Markdown.
Sample Markdown Input: Use the "Code Blocks" example from the Sample Markdown Inputs - 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
# Test Markdown File ## Code Block Test ```python print("Hello, World!") def add(a, b): return a + b # Test the function result = add(5, 3) print(f"Result: {result}") ``` ```bash # Bash script example echo "Hello from Bash" ls -la ``` ```javascript // JavaScript example console.log("Hello from JavaScript"); function multiply(a, b) { return a * b; } ```
Slides (for PPTX)
--- 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: ```python 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
option to remove code block wrappers (```) from the input Markdown--strip-wrapper