Closed mone27 closed 6 years ago
Perfetto. Verifico il file css e accetto, in caso tutto sia corretto :)
Tutto in cm, perfetto per la stampa :-D
Rimane solo da aggiornare il readme per documentare come usare lo script
Esatto. Li aveva trasformati in pt e gli ho consigliato di farlo in cm che sono le dimensioni effettive dell'a4. ha anche fatto lo script per automatizzare il tutto... ben fatto!
@Mte90 fai tu la revisione del css?
Ci provo a farla ma se la fai anche tu è meglio così ci prendi la mano :-D
Si, stavo già facendo xD Ho visto che inserivi commenti per lo script e ho pensato volessi fare tutto tu :) Facciamola entrambi allora xD
Una volta finito tutto il vademecum e che viene approvato anche il testo è necessario ottimizzare il css ovviamente.
ho sistemato i due problemi che @Mte90 aveva trovato
Mi chiedevo, inoltre, è proprio necessario inserire nel NOME del pdf generato la data? Non sarebbe meglio che, ad ogni nuova generazione, venga "aggiornato" (quindi sostituito) lo stesso file? Altrimenti si avrebbero moltissimi PDF anche per una minima modifica...
Lo script potrebbe eliminare i pdf, avevo messo la data perché essendo una build automatica temevo che potesse cambiare il file senza che ce ne accorgevamo
Automatica? Sempre che qualcuno deve eseguirla o no?
Lo script mi sembra a posto, per la questione data la rimuoverei anche perché se poi il vademecum lo committiamo abbiamo lo storico già qui riguardo la data quindi non è necessario. Per il resto devo provare come ho tempo il codice css a meno che ci siano delle migliorie che si possano fare ma le possiamo fare dopo con un ticket a parte
Okay non ci avevo pensato che ci stava comunque git per mantenere le diverse versioni
Esatto, c'è la "History" per questo motivo ?? @Mte90 quando puoi leggi il post pubblicato sul forum, per favore
From: mone27 notifications@github.com Sent: Thursday, May 17, 2018 10:37:07 AM To: MozillaItalia/firefox-vademecum Cc: Sav22999; Comment Subject: Re: [MozillaItalia/firefox-vademecum] css in cm and automatic pdf generation (#112)
Okay non ci avevo pensato che ci stava comunque git per mantenere le diverse versioni
— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/MozillaItalia/firefox-vademecum/pull/112#issuecomment-389789902, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Ae1mEgEJcOyd6ZFsDfBc2vLXUhdHUKojks5tzTazgaJpZM4T_-g1.
Ci sono problemi per fare il merge della pr?
Preferisco che @Sav22999 dia la sua conferma visto che lui consoce meglio di me il css visto che lo ha fatto lui.
In pomeriggio verifico :+1: se non vado errato dobbiamo accertarci (anche) che lo script funzioni correttamente. Avete controllato?
From: Daniele Scasciafratte notifications@github.com Sent: Saturday, May 26, 2018 12:30:40 PM To: MozillaItalia/firefox-vademecum Cc: Sav22999; Mention Subject: Re: [MozillaItalia/firefox-vademecum] css in cm and automatic pdf generation (#112)
Preferisco che @Sav22999https://github.com/Sav22999 dia la sua conferma visto che lui consoce meglio di me il css visto che lo ha fatto lui.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/MozillaItalia/firefox-vademecum/pull/112#issuecomment-392252512, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Ae1mEoYpCGKWnGFy35GnDxzMVc4aR667ks5t2S7QgaJpZM4T_-g1.
./scripts/genera_pdf.sh: riga 9: read: "name=Vademecum": non è un identificatore valido
Version number (format: VV.VV):
1.2
Version type {VG|VT}:
VG
html-pdf not installed. installing...
> phantomjs-prebuilt@2.1.16 install /tmp/firefox-vademecum/node_modules/phantomjs-prebuilt
> node install.js
PhantomJS not found on PATH
Downloading https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
Saving to /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2
Receiving...
[========================================] 100%
Received 22866K total.
Extracting tar contents (via spawned process)
Removing /tmp/firefox-vademecum/node_modules/phantomjs-prebuilt/lib/phantom
Copying extracted folder /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract-1527339887780/phantomjs-2.1.1-linux-x86_64 -> /tmp/firefox-vademecum/node_modules/phantomjs-prebuilt/lib/phantom
Writing location.js file
Done. Phantomjs binary available at /tmp/firefox-vademecum/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
npm WARN saveError ENOENT: no such file or directory, open '/tmp/firefox-vademecum/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/tmp/firefox-vademecum/package.json'
npm WARN firefox-vademecum No description
npm WARN firefox-vademecum No repository field.
npm WARN firefox-vademecum No README data
npm WARN firefox-vademecum No license field.
+ html-pdf@2.2.0
added 79 packages from 73 contributors and audited 98 packages in 20.055s
found 0 vulnerabilities
./scripts/genera_pdf.sh: riga 23: html-pdf: comando non trovato
./scripts/genera_pdf.sh: riga 24: html-pdf: comando non trovato
pdf files generated. merging in a single file...
./scripts/genera_pdf.sh: riga 35: cd: ../volantino: File o directory non esistente
Error: Unable to find file.
Error: Failed to open PDF file:
volantino_fronte.pdf
Error: Unable to find file.
Error: Failed to open PDF file:
volantino_retro.pdf
Errors encountered. No output created.
Done. Input errors, so no output created.
Lo script ha bisogno che html-pdf sia installato globalmente
@Mte90 aggiorno lo script per fare exit nel caso qualche comando di installazione non va. Per quello è necessario l'opzione -g che però richiede il sudo (se possibile lo eviterei), altrimenti si aggiunge al path a mano la dir con l'installazione di npm.
la mia versione in lavorazione:
#!/usr/bin/env bash
# author: Simone Massaro (mone27)
# date: 15/05/18
# last update: 16/15/18 || by: @Sav22999
# this scripts takes html file converts to single pdf pages and then merges the pages
# and try to install all dependencies (tested on ubuntu)
# now paths are hardcoded for firefox-vademecum repository
# UPDATE, if it's necessary, the "name" variable
read name="Vademecum"
echo "Version number (format: VV.VV): "
read version
echo "Version type {VG|VT}: "
read typeVersion
if ! [ -x "$(command -v wkhtmltopdf)" ]; then
sudo apt install wkhtmltopdf
fi
wkhtmltopdf ../html/volantino_fronte.html ../volantino/volantino_fronte.pdf
wkhtmltopdf ../html/volantino_retro.html ../volantino/volantino_retro.pdf
echo "pdf files generated. merging in a single file..."
if ! [ -x "$(command -v pdftk)" ]; then
if ! [ -x "$(command -v apt)" ]; then
echo "The script does not support automatic installation of pdftk on your platform."\
"Please install pdftk (https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/) then try again"
exit 1
fi
sudo apt install pdftk
fi
pdftk ../volantino/volantino_fronte.pdf ../volantino/volantino_retro.pdf cat output ../volantino/"${name}_$version_$typeVersion.pdf"
Io direi di togliere nodejs così roba in meno da installare ed usare wkhtmltopdf che è disponibile in tutti i repo delle distro.
Togliere anche il sistema a prompt e mettere uno con dei parametri così è più veloce per i test e anche se un domani abbiamo un sistema di build.
Inoltre lo script così è necessario che sia lanciato da dentro la cartelal scripts cosa scomoda e che non mi faceva generare niente.
Con questo script se togliamo la parte nodejs il processo dura 4 secondi, dobbiamo anche vedere il nome del file che al momento mi viene: _VG.pdf
.
Inclduerei inoltre anche wkhtmltoimage
così abbiamo anche la versione png aggiornata.
Se poi togli i credits dallo script che li abbiamo già dentro il vademecum così non ci dobbiamo preoccupare di tenere aggiornato.
Per il momento toglierei anche la questione VG/VT perché io farei che cerca i file html e di quelli genera il pdf/png indefferettemente dal fatto tecnico/generale così abbiamo tutto aggiornato.
Inoltre vorrei aggiungere che è necessario generare anche le immagini PNG (fronte e retro). Direi, tuttavia, di approvare questo script, se funziona, e creare una nuova pr dedicata alla rinomina del file pdf generato e alla generazione delle immagini (dal pdf, direi... oppure generando da HTML->PDF. Personalmente preferirei la prima perchè il PDF è statico, mentre l'HTML può essere interpretato in altro modo, in base alla libreria/servizio utilizzato)
Per me per essere approvata richiede che lo script sia adattato con tutte le mie richieste, se non vanno bene discutiamone prima di approvare.
Si, va bene. Era per non prolungare maggiormente la pr. A me sta bene anche discutere direttamente qui :)
@Mte90 toglierei volentieri nodejs ma wkhtmltopdf
non sono riuscito a configurarlo bene, mi da l'output con i margini. Il vantaggio di wkhtmltopdf
sarebbe che si integra anche con pandoc, se lo volessimo usare in un secondo momento.
Provo a vedere se ci sta qualche opzione di wkhtmltopdf.
trovata la soluzione per wkhtmltopdf
chiedo scusa per essere stato pigro e non aver letto la documentazione prima.
Aggiorno subito lo script.
@Mte90 per le versioni va bene, ma non diventerebbe troppo pesante? Cioè, se tipo dovessimo fare un'altra versione, chiamiamola VERSIONE FUTURA (VF) dovremo aggiungere nel codice anche VF... e così via. Mi sembra una roba inutile... quando si può automatizzare solamente per versione. Aspetto riscontro :)
Io purtroppo non riesco ad installare pdftk
@Mte90 per me si può chiudere questo issue (non hai risposto alla questione circa la VG-VT)
per le versioni potremmo provare a usare i tag di git
Quale sarebbe il tag? #112 ad esempio?
No i tag sono un sistema di git che serve per dare un nome a un commit. #112 è il counter di github per issue/pull request che serve per riferirsi a un issue in maniera univoca nei commenti. Con i tag id git puoi dire questo commit è la versione 2.0, in questo modo è più semplice in futuro accerci. Poi non sono un esperto di git, per maggiori info https://git-scm.com/book/en/v2/Git-Basics-Tagging
Se sistemate questi ultimi due punti, per me è pronta per essere approvata.
Per la questione VG/VF meglio che venga generata da un bot tutto quanto così lo scipt è ancora più veloce da usare.
Va bene, quindi facciamo generare ogni volta entrambi i file (VG e VT) corretto?
Si esatto
Ho aggiornato lo script rimuovendo la scelta di VG/VT. Ho aggiunto anche i dettagli di ciò che è stato convertito a fine script. Ditemi se va bene, altrimenti lo rimuovo tranquillamente.
Ok. Dopo tutte le verifiche, io approvo. @Mte90 dammi anche il tuo consenso e il tuo @mone27 così accettiamo questa pr :) (@Mte90 puoi accettarla direttamente tu, ovviamente xD)
Per me va bene.
Ho convertito le dimensioni di stile.css da px a cm per fare in modo che entri perfettamente in un A4 e che si possa usare uno script per generare il pdf senza dover ritagliare e zoomare a mano. Ho anche fatto uno script che genera il pdf in automatico. Appena ho tempo provo a fare un file travis per CI e build del pdf dopo il commit