As @cronopios mentions, if you need a bit of flexibility in the output, you need to use a wrapper over Chromium — either Electron, or (the more recent) Puppeteer.
Other than that, it runs the article through Readability to extract just the main content and applies customizable CSS / HTML to it.
As soon as you need to control anything, you have to use [Puppeteer](https://developers.google.com/web/tools/puppeteer/)