- Rassemble les fichiers statiques dans leur dossier. - Crée un Makefile pour construire l'exemple en HTML et en PDF, et aussi pour démarrer un serveur web local et pour faciliter la publication de version. - Mets à jour l'exemple avec les possibilités ajoutées (warning). - Implémente les modifications apportées dans le CSS des projets où ce template est utilisé. - Documente la construction des fichiers et les commandes du Makefile. Co-Authored-by: iGor milhit <igor@milhit.ch> |
||
|---|---|---|
| example | ||
| static | ||
| .gitignore | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
README.md
| 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 le répertoire static/ à la racine de votre
propre projet. 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
Dans le répertoire static/ se trouvent 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. - Un fichier javascript avec le polyfill du projet
pagedjs, afin d'éviter de dépendre d'un CDN. - Un fichier javascript qui permet de retrouver la bonne place dans la visualisation du HTML servi lorsqu'on recharge la page, pratique en développement.
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, exportées avec l'extension pour Zotero Better BibTeX.
Requis
pandoc.pagedjc-cli.- Gnu Make,
watchexecet python pour utiliser les facilités fournies par leMakefile.
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.
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 --bibliography=references.bib --csl=../static/heg-iso-690.csl \
--template=../static/template.html --css=../static/style.css \
--toc --toc-depth=2 \
-V static=../static
--to=html --output=example.html example.md
--citeprocassure que les références bibliographiques soient traitées.--bibliographyindique où sont les références.--cslprécise le style de citation utilisé.--template=et--css=définissent le modèle et les règles de style à utiliser.--tocettoc-depth=2génèrent la table des matière en se limitant au 2e niveau.-V static=est une variable permettant d'indiquer dans le fichier HTML le chemin vers le dossier contenant les fichiers statiques. Il faut penser le chemin depuis où le fichier HTML sera servi.
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 un navigateur web pour
pouvoir l'imprimer au format PDF.
Pour générer directement le PDF, en utilisant pagedjs au moyen de pandoc :
pandoc \
--citeproc --bibliography=references.bib --csl=../static/heg-iso-690.csl \
--to=pdf --pdf-engine=pagedjs-cli \
--css=../static/style.css \
--template=../static/template.html \
--toc --toc-depth=2 \
-V noscript=true -V static=../static
--output=example.pdf example.md
--pdf-engine=imposepagedjs-clipour la conversion en PDF.-V noscript=truepermet d'indiquer que la feuille de style de l'interface web depagedjset les scripts javascript utile dans le navigateur web ne soient pas utilisés, car ils perturbent la conversion parpandoc.
Commandes (Makefile)
Le Makefile offre les commandes suivantes :
makeoumake pdfconstruit le fichier PDF.make htmlconstruit le fichier HTML, prêt à être servi.make watchreconstruit le fichier HTML à chaque fois qu'un autre fichier est modifié et enregistré.make serveutilise python pour démarrer un serveur web local.make release:- Crée une archive du répertoire
static/dans le dossierrelease/et nomme l'archive avec la valeur de la dernière étiquette de l'historiquegit. - Construit le fichier PDF.
- Copie le PDF construit dans le dossier
release/en le nommant avec la même étiquettegit.
- Crée une archive du répertoire
make cleanvide le dossierrelease/.