repo-to-pdf
Make pdf from source code
Here is a sample
Install
npm install repo-to-pdf
Usage
Basic
npx repo-to-pdf [src/folder]
const {generateEbook} = require('repo-to-pdf')
generateEbook(
'./',
'test.pdf',
'repo-test',
{renderer:'node', pdf_size: 3*0.8*1000*1000, format: 'pdf', device: 'desktop'}
)
Command Line Options
-d, --device [platform]
device [desktop(default)|mobile|tablet]
-t, --title [name]
pdf filename
-w, --whitelist [wlist]
file format white list, split by ","
-s, --size [size]
pdf file size limit, in MB, default 10 MB
-r, --renderer [node|calibre|wkhtmltopdf]
use either node(relaxedjs) or calibre to render ebook, node outputs pdf, calibre outputs pdf, mobi, epub
-f, --format [pdf|mobi|epub]
output format, either pdf, mobi, epub. mobi and epub are generated using calibre ebook-convert
-c, --calibre [path]
path to ebook-convert, for MacOS, try /Applications/calibre.app/Contents/MacOS/ebook-convert; for linux, try /usr/bin/ebook-convert
For tablet, mobile
only supported by the renderer node
npx repo-to-pdf [src/folder] --device tablet
npx repo-to-pdf [src/folder] --device mobile
Testing
npm run test
Performance
on M1 Macbook Air
time npx repo-to-pdf ./test/data/redis-7.0.0/src -s 3
2.09s user 0.36s system 2% cpu 1:42.14 total
time npx repo-to-pdf ./test/data/redis-7.0.0/src -s 3 -r wkhtmltopdf
43.78s user 0.84s system 93% cpu 47.787 total
Known issues