about:, the scheme of the default page about:blank after browser.newPage() is Chrome internal scheme, so it may be insecure because about: can access to some Chrome-internal resources provided by other about: pages. We should keep a secure scheme data: by going to the empty HTML page data:text/html, before rendering HTML through Page.setContent().
In a huge Markdown document, the encoded slide HTML may reach to the limit of data URI length.
I updated how to render a HTML for conversion to use Puppeteer's
Page.setContent()
. Resolves #545.