Puppetron
Puppeteer (Headless Chrome Node API)-based rendering solution.
Install / Use
/learn @cheeaun/PuppetronREADME
<img src="assets/logo.png" width="400" alt="Puppetron">
Puppeteer (Headless Chrome Node API)-based rendering solution.
Videos & Tweets:
- Demo https://www.youtube.com/watch?v=n4sRp3qe_1Y
clipSelectordemo https://www.youtube.com/watch?v=wYCrJu-Wy2E- CJK fonts support https://twitter.com/cheeaun/status/902340897433501696
- Emoji support https://twitter.com/cheeaun/status/903492052452728832
⚠️⚠️⚠️ NOTE: Starting version 2.0, CJK and emoji support is gone.
🚧🚧🚧 PLEASE READ THIS 🚧🚧🚧
Do NOT use this for production use-cases.
This is just a demo site of what cool things that Puppeteer can do. Under any circumstances, this site may be down any time or be heavily rate-limited to prevent abuse.
Please check out what Puppeteer can do for your own use case and host on your own servers.
API
The API can perform 3 actions:
- Screenshot - take a screenshot of the web page
- Render - render and serialize a HTML copy of the web page
- PDF - generate a PDF of the web page
URL - the URL with encoded pathname, search and hash.
Global parameters:
width- width of viewport/screenshot (default:1024)height- height of viewport/screenshot (default:768)
Screenshot
/screenshot/{URL}
...or
/{URL}
Parameters:
thumbWidth- width of thumbnail, respecting aspect ratio (no default, has to be smaller thanwidth)fullPage- takes a screenshot of the full scrollable page (default:false). If the page is too long, it may time out.clipSelector- CSS selector of element to be clipped (no default). E.g.:.weather-forecast.
Render
/render/{URL}
Notes:
scripttags exceptJSON-LDwill be removedlink[rel=import]tags will be removed- HTML comments will be removed
basetag will be added for loading relative resources- Elements with absolute paths like
src="/xxx"orhref="/xxx"will be prepended with the origin URL.
Parameters: None
/pdf/{URL}
Parameters:
format: Paper format that Puppeteer supports. E.g.:Letter,Legal,A4, etc. (default:Letter)pageRanges: Paper ranges to print. E.g.,1-5,8,11-13(default all pages)
Development
Requirements
Steps
npm inpm start- Load
localhost:3000
Credits
Block list from Prerender.
For version 1.0, this uses cheeaun/puppeteer Docker image.
For version 2.0, this uses some parts from Zeit's now-examples: misc-screenshot.
Inspired by zenato/puppeteer, puppeteer-renderer and Rendertron.
Related Skills
node-connect
343.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
92.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
summarize
343.3kSummarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).
feishu-doc
343.3k|
