kohheepeace / docusaurus-pdf

Generate PDF for docusaurus
https://drive.google.com/file/d/19P3qSwLLUHYigrxH3QXIMXmRpTFi4pKB/view
113 stars 18 forks source link

add toc functionality #27

Open bojl opened 3 years ago

bojl commented 3 years ago

This PR adds toc functionality to docusaurus-pdf.

To add a toc to your pdf, simply add <toc/> anywhere in your documentation; the script will insert the toc at that location. Each header element in the documentation will be added to the table of contents, indented (header level - 1) * 20 pixels.

This PR slightly reworks how the end pdf is generated. Rather than converting each page to a pdf buffer, then merging the pdf buffers into a final pdf, script will now convert each page to html, join the html, then convert to pdf via puppeteer. This is because internal links do not work with the pdf-lib library.

EDIT: it seems like tests are failing for unrelated reasons

kohheepeace commented 3 years ago

@bojl thanks for your PR. I will check it asap. And can you share generated PDF example??

kohheepeace commented 3 years ago

@bojl I checked the generated TOC, amazing feature 😁 👍

I have a question

How can I make only toc page ?

I have putted the <toc /> under first page title, and the output is like the below image. 2021-03-31_01h55_44