Use when the user wants to export completed local HTML output directories to PDF, PNG, or WebP using Chromium/Playwright.
Especially use for adaptive-html-final outputs with CSS-only ahf-theme radios, :has() selectors, inline CSS, large SVG, no-JS constraints,
theme-by-theme screenshots, export manifests, HTML SHA stability checks, and browser-openable PDF/PNG/WebP links.
Trigger examples: "HTML PDF๋ก ๋ณํ", "PDF/PNG/WebP export", "ํ ๋ง๋ณ ์คํฌ๋ฆฐ์ท", "PDF ๋งํฌ ์ ๊ณต", "output ํด๋ ๋ณํ".
Installation
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Use when the user wants to export completed local HTML output directories to PDF, PNG, or WebP using Chromium/Playwright.
Especially use for adaptive-html-final outputs with CSS-only ahf-theme radios, :has() selectors, inline CSS, large SVG, no-JS constraints,
theme-by-theme screenshots, export manifests, HTML SHA stability checks, and browser-openable PDF/PNG/WebP links.
Trigger examples: "HTML PDF๋ก ๋ณํ", "PDF/PNG/WebP export", "ํ ๋ง๋ณ ์คํฌ๋ฆฐ์ท", "PDF ๋งํฌ ์ ๊ณต", "output ํด๋ ๋ณํ".
HTML Exporter
Build-time helper for exporting finished HTML output directories to PDF, PNG, and WebP without modifying the source HTML.
Core contract
Use Chromium/Playwright for rendering. Do not use WeasyPrint/wkhtmltopdf for :has() theme outputs.
Treat source HTML as read-only. Do not inject JS or write generated .html outside exports/.
Write artifacts only under <output_dir>/exports/{pdf,png,webp}/ plus <output_dir>/exports/export-manifest.json.
Request themes light,light2,white,dark,dark2,blue,skyblue,sepia by default; capture only DOM radios that exist: input[name="ahf-theme"]#ahf-<theme>.
Hide export controls at render time only: .ahf-themebar, .reading-progress, .skip, .ahf-color-audit.
Confirm regression safety from manifest: html_sha256_unchanged, sources_sha256_unchanged, validate_issues_unchanged.
Quick workflow
Identify the output directory, usually output/<name>.
If the project already has scripts/export_output.mjs, use it. Otherwise copy this skill's scripts/export_output.mjs into the project scripts/ directory.
localhost links for useful PDFs/PNGs when a local server is expected.
Common commands
# Default: pdf,png,webp + light,light2,white,dark,dark2,blue,skyblue,sepia
npm run export:output -- output/<dir> --clean
# PDF only
npm run export:output -- output/<dir> --formats pdf --clean
# Dark PNG only, lower scale
npm run export:output -- output/<dir> --formats png --themes dark --scale 1 --clean