adrienbrignon / mkdocs-exporter

⚡ The fastest and most configurable plugin for MkDocs, allowing seamless export of individual pages or entire documentation as PDF documents.
https://adrienbrignon.github.io/mkdocs-exporter/
MIT License
71 stars 2 forks source link

Idea: use mkdocs-print-page to print all website #12

Closed cspaier closed 2 months ago

cspaier commented 9 months ago

I see in the roadmap:

Combine all pages as one PDF

And I know that mkdocs-print-site does one thing: automatically create a page served at /print_page that combine all pages of the site.

I thought I just had to combine your plugins and the print-site one to have a neat pdf of all my documentation.

This failed with a playwright._impl._errors.TimeoutError :( If you ever get curious, you can find the full traceback in this gist.

So I was wondering if you were aware of this print-site-plugin. Anyway, you may want to handle this feature by yourself to get more control of the process.

adrienbrignon commented 9 months ago

Hello @cspaier,

Thank you for opening an issue and for all the details you've provided.

The timeout is caused by an issue during the "preview" generated by Paged.js. Maybe the page contains too much elements and it fails? Disabling the browser's headless mode (not available through configuration, though) and heading to the JavaScript console of the page should give you more details.

About mkdocs-print-site-plugin, yes, I have used it in the past and was quite happy with it :) In the future, this feature will be handled by the plugin itself so compatibility can be ensured at all times.

I am currently rewriting the plugin, the logic will now be mainly written in JavaScript so interactions can now be done directly between the browser and the page to render PDF documents on the fly.

You can find some more details here.

adrienbrignon commented 2 months ago

This feature has been released in the v6.0.0 version.

Thank you for your patience, I will now close this issue.

cspaier commented 2 months ago

Thank you for your work.