bunige-pagedjs-template/README.md

89 lines
2.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

---
title: Un modèle pagedjs pour la BUNIGE
date: 2023-04-21T11:19:03+02:00
id: 20230421111912
tags: [modèle, pagedjs, PDF, BUNIGE]
---
# [Un modèle *pagedjs* pour la BUNIGE][1]
## Licence
Ce projet est sous [licence MIT][2].
## 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][3].
Il a pour objectif d'être ajouté rapidement à un projet utilisant [paged.js][4]
pour générer des PDF à partir d'un contenu en markdown.
## 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][4]: [interface.css][6]).
- 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][5].
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:
```bash
pandoc --standalone --pdf-engine=pagedjs-cli \
--template=../template.html --css=../style.css \
--toc --toc-depth=2 --citeproc \
--to=html --output=example.html example.md
```
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:
```bash
pandoc --standalone --citeproc \
--to=pdf --pdf-engine=pagedjs-cli \
--css=../style.css --toc --toc-depth=2 \
--output=example.pdf example.md
```
Pour générer le PDF en utilisant `pagedjs`:
```bash
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
```
<!-- références -->
[1]: ./
[2]: ./LICENSE
[3]: https://www.unige.ch/biblio/fr/ "Site officiel de la Bibliothèque de l'Université de Genève"
[4]: https://pagedjs.org/
[5]: https://raw.githubusercontent.com/citation-style-language/styles/blob/master/haute-ecole-de-gestion-de-geneve-iso-690.csl
[6]: https://gitlab.coko.foundation/pagedjs/interface-polyfill/-/raw/master/interface.css