md-to-docx-template
Original:🇺🇸 English
Translated
7 scripts
Convert markdown to beautifully styled Word documents using custom templates. Supports branded fonts, colors, and table styling. Extract styles from existing docs or generate fresh templates.
5installs
Sourcejonnyschneider/skills
Added on
NPX Install
npx skill4agent add jonnyschneider/skills md-to-docx-templateTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Markdown to DOCX with Templates
Convert markdown to professionally styled Word documents. Not plain exports — beautiful, branded documents with your fonts, colors, and table styling applied automatically.
When to Use
- User wants to convert markdown to Word/DOCX
- User needs a branded document from markdown source
- User asks about exporting markdown with styling
- User mentions "md to docx", "markdown to word", or similar
Prerequisites
- installed (
pandocon macOS)brew install pandoc - Python 3.8+ with packages: ,
python-docx,lxml,clickpyyaml
Installation
Clone this skill's scripts to your preferred location:
bash
git clone https://github.com/jonnyschneider/skills.git
cd skills/skills/md-to-docx-template
pip install python-docx lxml click pyyamlQuick Conversion
bash
./md-to-docx.py input.md -o output.docxWith Custom Template
Option A: Generate template with specific fonts/colors
bash
./create-reference-template.py template.docx \
--font-body "DM Sans" \
--font-heading "DM Sans" \
--accent-color "0D494D" \
--heading-color "0D494D"
./md-to-docx.py input.md -o output.docx --template template.docxOption B: Extract styles from existing branded document
bash
# Full pipeline for best results:
./extract-styles.py source-branded.docx template.docx
./md-to-docx.py input.md -o output.docx --template template.docx --no-fix-indent
./apply-template-styles.py template.docx output.docx
./fix-table-headers.py output.docxMulti-file Documents
Create a :
manifest.yamlyaml
template: template.docx
output: final-document.docx
sections:
- 01-intro.md
- 02-content.md
- 03-conclusion.mdThen run:
bash
./md-to-docx.py manifest.yaml --openKey Options
| Option | Description |
|---|---|
| Output DOCX path |
| Custom reference template |
| Generate table of contents |
| Open after building |
| Skip list indent fix (use with extract pipeline) |
Template Options
| Option | Description |
|---|---|
| Body text font (default: Calibri) |
| Heading font (default: Calibri) |
| Code font (default: Consolas) |
| Table header color (hex, default: 4472C4) |
| Heading text color (hex, default: 000000) |
Limitations
- Custom fonts must be installed on target machines
- Complex tables may not render perfectly
- SVG images require
rsvg-convert - Some pandoc quirks require post-processing scripts