🎯

markdown-to-pdf

🎯Skill

from duc01226/easyplatform

VibeIndex|
What it does

Converts markdown files to professionally-styled PDFs with custom styling, syntax highlighting, and flexible configuration options.

πŸ“¦

Part of

duc01226/easyplatform(87 items)

markdown-to-pdf

Installation

Node.jsRun Node.js server
node .claude/skills/markdown-to-pdf/scripts/convert.cjs \
πŸ“– Extracted from docs: duc01226/easyplatform
5Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

"[Utilities] Convert markdown files to PDF with custom styling. Use when generating PDF documents from markdown, creating printable documentation, or exporting reports."

Overview

# markdown-to-pdf

Convert markdown files to professionally-styled PDF documents.

Installation Required

```bash

cd .claude/skills/markdown-to-pdf

npm install

```

Dependencies: md-to-pdf (includes Puppeteer, auto-downloads Chromium ~200MB)

Quick Start

```bash

# Basic conversion

node .claude/skills/markdown-to-pdf/scripts/convert.cjs \

--file ./README.md

# Custom output path

node .claude/skills/markdown-to-pdf/scripts/convert.cjs \

--file ./doc.md \

--output ./output/doc.pdf

# Custom styling

node .claude/skills/markdown-to-pdf/scripts/convert.cjs \

--file ./report.md \

--style ./custom-style.css

```

CLI Options

| Option | Required | Description |

| ----------------- | -------- | -------------------------------------------- |

| --file | Yes | Input markdown file |

| --output | No | Output PDF path (default: input name + .pdf) |

| --style | No | Custom CSS file |

Output Format (JSON)

```json

{

"success": true,

"input": "/path/to/input.md",

"output": "/path/to/output.pdf",

"pages": 5

}

```

Default Styling

  • GitHub-flavored markdown
  • Code syntax highlighting (highlight.js)
  • Sans-serif body (system fonts)
  • Monospace code blocks
  • A4 page size, 2cm margins

Customization

Create custom CSS:

```css

body {

font-family: Georgia, serif;

font-size: 12pt;

line-height: 1.6;

}

h1 { color: #2c3e50; border-bottom: 2px solid #3498db; }

code { background: #f4f4f4; padding: 2px 6px; }

```

Troubleshooting

Chromium download fails: Set PUPPETEER_SKIP_DOWNLOAD=1 then manually install Chrome

Memory issues: Large docs may need --max-old-space-size=4096

IMPORTANT Task Planning Notes

  • Always plan and break many small todo tasks
  • Always add a final review todo task to review the works done at the end to find any fix or enhancement needed