4.3 KiB
title | date | id | tags | ||||
---|---|---|---|---|---|---|---|
Un modèle pagedjs pour la BUNIGE | 2023-04-21T11:19:03+02:00 | 20230421111912 |
|
Un modèle pagedjs pour la BUNIGE
Licence
Ce projet est sous licence MIT.
Description
Ce projet est un modèle et une mise en forme pour produire un PDF suivant la charte de la Bibliothèque de l'Université de Genève.
Il a pour objectif d'être ajouté rapidement à un projet utilisant paged.js pour générer des PDF à partir d'un contenu en markdown.
Usage
Une solution est de télécharger les fichiers et répertoires suivants à la racine de votre propre projet :
static/
.style.css
.template.html
.interface.css
.heg-iso-690.csl
.
Vous pouvez faire ces téléchargement à la main, ou télécharger le fichier
.zip
de la publication de version.
Une autre méthode est de cloner le projet et de rédiger votre document au sein de celui-ci.
Structure du répertoire
À la racine du répertoire se trouve les fichiers nécessaires au modèle :
- Le modèle lui-même :
template.html
. - La feuille de style qui rend possible l'interface web pour la
prévisualisation du document au format HTML :
interface.css
(fichier faisant partie du projet paged.js : interface.css). - Le fichier de style bibliographique qui fait partie à part entière du modèle,
car il est la norme utilisée par la charte :
heg-iso-690.csl
. Il est extrait du répertoire des styles.csl
: haute-ecole-de-gestion-de-geneve-iso-690.csl.
Dans le dossier example
se trouvent les sources pour pouvoir donner un
exemple :
- Le document markdown lui-même :
example.md
. - Une liste de références bibliographiques au format BibLaTeX :
references.bib
.
Prérequis
pandoc
.pagedjc-cli
(npm install -g puppeteer pagedjs pagedjs-cli
).
Génération du PDF d'exemple
Lancer les commandes depuis le répertoire ./example
.
Pour générer le fichier HTML a visualiser dans le navigateur :
pandoc --citeproc \
--template=../template.html --css=../style.css \
--toc --toc-depth=2 \
--to=html --output=example.html example.md
--citeproc
assure que les références bibliographiques soient traitées.--template=
et--css=
définissent le modèle et les règles de style à utiliser.--toc
ettoc-depth=2
génèrent la table des matière en se limitant au 2e niveau.
Puis lancer un serveur web à la racine du projet (par exemple avec python -m http.server
), et ouvrir le fichier HTML généré avec Chromium (ou Chrome) pour
pouvoir l'imprimer au format PDF.
Pour générer directement le PDF, en utilisant pagedjs
au moyen de pandoc
:
pandoc --citeproc \
--to=pdf --pdf-engine=pagedjs-cli \
--css=../style.css \
--toc --toc-depth=2 \
--output=example.pdf example.md
--pdf-engine=
imposepagedjs
pour la conversion en PDF.- Ici le
template
ne doit pas être utilisé, mais la feuille de style doit l'être.
Pour générer le PDF en utilisant directement pagedjs
:
pandoc --citeproc \
--to=html --toc --toc-depth=2 \
--template=../template.html --css=../style.css \
--output example.html example.md \
&& pagedjs-cli example.html --style ../style.css --output example.pdf
Attention ! Chacune de ces méthodes produit des différences. À vous de les observer et de choisir laquelle vous convient le mieux.
Rédaction du document
Pour la rédaction du document, il est utile de se référer à la documentation de
la syntaxe markdown, mais aussi à la documentation de pandoc
. Quelques points
sont données en exemples dans le fichier example/example.md
, comme par
exemple La police ou Les titres.