From 40adfb49c9455bf8467bfc08848f6e8bf763f0a8 Mon Sep 17 00:00:00 2001 From: adb Date: Fri, 22 Apr 2022 00:47:52 +0200 Subject: [PATCH] add cover and some tweaks --- cover.html | 30 ++++++++++++++++++++++++++++++ index.js | 47 ++++++++++++++++++++++++++++++++++++++++++----- package.json | 1 + 3 files changed, 73 insertions(+), 5 deletions(-) create mode 100644 cover.html diff --git a/cover.html b/cover.html new file mode 100644 index 0000000..90dec87 --- /dev/null +++ b/cover.html @@ -0,0 +1,30 @@ + + + + + Cover + + + +

{{title}}

+

{{subtitle}}

+

{{date}}

+ + diff --git a/index.js b/index.js index ef634bc..8aab6d9 100644 --- a/index.js +++ b/index.js @@ -1,9 +1,14 @@ import puppeteer from 'puppeteer'; import fs from 'fs'; import moment from 'moment'; +import PDFMerger from 'pdf-merger-js'; -const [url, title = '', subtitle = ''] = process.argv.slice(2); -const date = moment().format('YYYY-MM-DD'); +let [ + url, + title = '', + subtitle = '', + date = moment().format('YYYY-MM-DD') +] = process.argv.slice(2); const path = './pdf'; @@ -29,8 +34,12 @@ try{ new Promise(resolve => setTimeout(resolve,1000)) ]); - await page.pdf({ - path: `${path}/${date}_${title}.pdf`, + if (!title) title = await (await page.waitForSelector('h1')).evaluate(el => el.textContent); + if (!subtitle) subtitle = await (await page.waitForSelector('h2')).evaluate(el => el.textContent); + console.log(title,subtitle) + + const pages = await page.pdf({ + //path: `${path}/${date}_${title}_pages.pdf`, format: 'A4', margin: { top: '20mm', @@ -48,7 +57,7 @@ try{ width: 100%; padding: 2mm; border-bottom: 1px #222 solid; - ">${[title, subtitle].join(' - ')} + ">${[title, subtitle].map(el=>el.trim()).filter(el=>!!el).join(' - ')} `, footerTemplate: `