md2pdf

Markdown to PDF Converter

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "md2pdf" with this command: npx skills add aicoder2048/story-writer/aicoder2048-story-writer-md2pdf

Markdown to PDF Converter

Convert Markdown to PDF with Chinese font support and customizable styling.

Quick Start

The script uses uv inline metadata - no manual dependency installation needed:

Basic conversion (uv auto-installs dependencies)

uv run scripts/md2pdf.py input.md output.pdf

With custom CSS

uv run scripts/md2pdf.py input.md output.pdf --style assets/vintage-paper.css

With custom title

uv run scripts/md2pdf.py input.md output.pdf --title "Chapter Title"

Or make executable and run directly

chmod +x scripts/md2pdf.py ./scripts/md2pdf.py input.md output.pdf

Note: On macOS, the script automatically configures Homebrew library paths.

Available Styles

Two pre-built styles in assets/ :

Style File Description

Vintage Paper vintage-paper.css

Warm cream background, brown text, serif fonts. Ideal for stories and literature.

Modern Clean modern-clean.css

White background, dark text, sans-serif fonts. Ideal for technical documents.

Default Style Features

The built-in default style (vintage paper) includes:

  • Background: Warm cream (#FAF6F0)

  • Text color: Dark brown (#4A3728)

  • Heading color: Darker brown (#3D2B1F)

  • Font: Chinese serif (Noto Serif SC, Songti SC)

  • Line height: 1.8

  • Paragraph indent: 2em (Chinese style)

  • Page footer: Page numbers

Customization

To customize styling, copy an existing CSS file and modify:

@page { size: A4; /* Paper size / margin: 2.5cm 2cm; / Page margins / background-color: #FAF6F0; / Page background */ }

body { font-family: "Noto Serif SC", serif; /* Font stack / font-size: 12pt; / Base font size / line-height: 1.8; / Line spacing / color: #4A3728; / Text color */ }

Chinese Font Priority

The converter uses this font fallback chain:

  • Noto Serif SC (Google Noto fonts)

  • Source Han Serif SC (Adobe fonts)

  • Songti SC (macOS)

  • STSong (macOS)

  • SimSun (Windows)

Ensure at least one of these fonts is installed on the system.

Script API

from md2pdf import convert_md_to_pdf

convert_md_to_pdf( input_path="chapter.md", output_path="chapter.pdf", custom_css="assets/vintage-paper.css", # Optional title="Chapter 1" # Optional )

Troubleshooting

WeasyPrint system dependencies

macOS (library path is auto-configured by script)

brew install pango

Ubuntu/Debian

sudo apt install libpango-1.0-0 libpangocairo-1.0-0

Missing Chinese fonts

macOS

brew install font-noto-serif-cjk-sc

Ubuntu/Debian

sudo apt install fonts-noto-cjk

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

mini-six-ren

No summary provided by upstream source.

Repository SourceNeeds Review
General

story writer

No summary provided by upstream source.

Repository SourceNeeds Review
General

story writer

No summary provided by upstream source.

Repository SourceNeeds Review