Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Offline Markdown to PDF converter with full Unicode support using Pandoc + WeasyPrint + local emoji cache. Converts Markdown documents to professional PDFs w...
Offline Markdown to PDF converter with full Unicode support using Pandoc + WeasyPrint + local emoji cache. Converts Markdown documents to professional PDFs w...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Convert Markdown documents to professional PDFs with FULL Unicode support, Chinese fonts, and colorful emojis (3660 emojis including all variants). Uses Pandoc + WeasyPrint with a local Twemoji cache to work offline after first run.
Convert a Markdown file to PDF: bash scripts/md2pdf-local.sh input.md output.pdf First run only: Downloads ~150MB emoji resources (Twemoji 14.0.0) from GitHub. Subsequent runs work offline. Example: bash scripts/md2pdf-local.sh report.md report.pdf
โ Full Unicode support (Chinese, Japanese, Korean) โ Complete emoji support (Twemoji 14.0.0, 3660 colorful PNGs) โ All emoji variants (skin tones, hair styles, regional flags, etc.) โ Offline operation after initial setup โ Professional PDF layout with page numbers โ Code highlighting, tables, blockquotes โ Accurate emoji mapping via Python pre-generated lookup table
Pandoc - Universal document converter WeasyPrint - CSS-to-PDF renderer Python 3 - For emoji mapping generation wget - For emoji download (first run only)
First run: Downloads Twemoji 14.0.0 to ~/.cache/md2pdf/emojis/ Python script: Generates emoji โ filename mapping table (emoji_mapping.json) Pandoc: Converts Markdown to HTML with a Lua filter that replaces emoji characters with local image references WeasyPrint: Renders HTML to PDF using: AR PL UMing CN for Chinese characters Local emoji images (PNG, 72x72px, colorful) Professional CSS styling
~/.cache/md2pdf/ โโโ emojis/ # 3660 colorful PNG files โ โโโ 0023-fe0f-20e3.png โ โโโ 1f600.png โ โโโ ... โโโ emoji_mapping.json # Emoji to filename mapping { "๐": "1f600.png", "โ": "0023-fe0f-20e3.png", ... }
The Python script generate_emoji_mapping.py scans all Twemoji files and creates a precise mapping from emoji characters to PNG filenames. This ensures accurate emoji replacement even for complex variants like skin tones and regional indicators.
Primary Chinese font: AR PL UMing CN Fallback: Noto Sans SC, Noto Sans CJK SC, Microsoft YaHei Monospace: Menlo, Monaco
โ Switched to Twemoji 14.0.0 (complete version) โ 3660 colorful emojis (including all variants) โ Python pre-generated mapping for accurate emoji replacement โ Fixed black-and-white emoji display issue โ Proper support for emoji variants (skin tones, hair styles, etc.)
Used emoji-datasource-google (~2000-3000 emojis) Simple hex-based filename matching (inaccurate for variants) Some emojis displayed as Unicode characters (black-and-white)
If Chinese characters display incorrectly, ensure AR PL UMing CN is installed: # Ubuntu/Debian sudo apt-get install fonts-arphic-uming # Check if installed fc-list | grep "AR PL UMing"
Check if emoji cache exists: ls ~/.cache/md2pdf/emojis/ Check if mapping exists: ls ~/.cache/md2pdf/emoji_mapping.json If missing, delete cache and re-run: rm -rf ~/.cache/md2pdf Verify emoji file exists: ls ~/.cache/md2pdf/emojis/1f600.png
This issue has been FIXED in v2.0. If you still see black-and-white emojis: Verify you're using the v2.0 script: grep "TWEMOJI_VERSION" scripts/md2pdf-local.sh # Should show: TWEMOJI_VERSION="14.0.0" Clear cache and regenerate: rm -rf ~/.cache/md2pdf bash scripts/md2pdf-local.sh test.md test.pdf
Install missing dependencies: # Ubuntu/Debian sudo apt-get install python3-weasyprint # Or via pip pip3 install weasyprint
If generate_emoji_mapping.py fails: # Check Python version python3 --version # Should be Python 3.6+ # Check emoji cache ls ~/.cache/md2pdf/emojis
md2pdf-local.sh - Main conversion script with automatic emoji caching and mapping generate_emoji_mapping.py - Python script to generate emoji lookup table Usage: Direct execution from any location (uses absolute paths): bash /path/to/skills/md2pdf-converter/scripts/md2pdf-local.sh input.md output.pdf Key Features: Automatic Twemoji download and caching Python pre-generated emoji mapping (accurate) Lua filter for emoji replacement CSS styling for professional output Temporary file cleanup (automatic)
Featurev1.0 (Old)v2.0 (New)Emoji Sourceemoji-datasource-googleTwemoji 14.0.0Emoji Count~2000-30003660Color Displayโ Unstableโ StableVariants Supportโ Incompleteโ CompleteMapping Accuracyโ ๏ธ Lowโ HighOffline Supportโ After first runโ After first runFirst Run Size~68MB~150MB
First run: ~150MB download, 10-30 seconds (depending on network) Subsequent runs: Offline, seconds-level conversion Memory usage: ~150MB for emoji cache PDF generation: 1-5 seconds per page
Missing emojis (newer than Twemoji 14.0.0) will display as Unicode characters First run requires internet connection (for Twemoji download) Emoji cache size: ~150MB (3660 PNG files at 72x72px)
Writing, remixing, publishing, visual generation, and marketing content production.
Largest current source with strong distribution and engagement signals.