Portrait is a web service which converts a website into a image. The actual hard work is handled by Google’s Puppeteer. Portrait is primarily designed to be used as a service, but does have a minimal admin interface.
You’ll need to be able to run Puppeteer via Node.js. You’ll also need to be able to run a Rails stack. Portrait is built on Ruby 2.5.3 and Rails 5.2
The provided setup script should take care of all the necessities: installing dependencies, setting up a database, and creating a temporary admin user.
$ ./bin/setup
Once that completes successfully, spin up a rails server
$ rails server
And visit localhost:3000
Send a POST request like below. Use basic http authorization and provide a parameter named site[url]. You can test it with curl:
curl -X POST -d "site[url]=https://google.com" -H "Accept: application/json" http://admin:admin@localhost:3000/sites
On a valid url, you’ll get a json response like this:
{
  "site": {
    "id": 1,
    "status": "succeeded",
    "image": {
      "url": ".../1.png"
    }
  }
}
- 
portrait was created by Jordan McKible jordan.mckible.com
 - 
Available on GitHub github.com/techvalidate/portrait