Commit d2250690 authored by Guillaume Perréal's avatar Guillaume Perréal
Browse files

Débute l'auto-documentation.

parent fb50d48d
defaults:
tags: [docker]
image: node:14
retry: 2
interruptible: true
stages:
- test
- deploy
lint:
stage: test
before_script:
- node --version
- npm --version
- npm install
script:
- npm run lint
artifacts:
name: "node_modules"
expires: 1 day
path:
- node_modules/
pages:
stage: deploy
needs: [node_modules]
script:
- npm run build
artifacts:
name: "public"
path:
- public/
# prezbuilder
Génération de présentations reveal.js.
Pour plus de détails : [consulter la présentation de prezbuilder](https://pole-is.gitlab.irstea.page/pole-is/tools/prezbuilder/index.html).
Ou la [version linéaire](src/index.md).
......@@ -5,6 +5,8 @@
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "gulp build",
"dev": "gulp dev",
"lint": "eslint --color ."
},
"keywords": [
......
% prezbuilder
% Guillaume Perréal
% 2020-05
# Présentation
- Génère des présentations [reveal.js](https://revealjs.com/) à partir de fichiers en markdown.
- Utilise le [thème INRAE](https://gitlab.irstea.fr/pole-is/tools/reveal.js).
- Génération de la présentation avec [pandoc](https://pandoc.org/).
- Conversion automatique de graphes créés avec [draw.io](https://app.diagrams.net/).
- Génération d'une version PDF avec [wkhtmltopdf](https://wkhtmltopdf.org/).
- Mode "dev" avec rechargement automatique de page.
La présentation que vous regardez a été générée avec prezbuilder !
# Installation
## A partir des sources
Prérequis :
- [drawio-desktop](https://github.com/jgraph/drawio-desktop/releases/latest)
- [node 10+](https://nodejs.org/fr/download/)
- [pandoc](https://pandoc.org/installing.html)
- [wkhtmltopdf](https://wkhtmltopdf.org/downloads.html)
- gulp-cli (`npm install --global gulp-cli`)
Récupération des sources :
```shell
sudo npm install --global gulp-cli
git clone https://gitlab.irstea.fr/pole-is/tools/prezbuild.git
npm install --no-dev
```
## Avec Docker
_A venir._
## Avec Gitlab Pages
_A venir._
# Utilisation
prezbuild crée une (ou plusieurs) présentation(s) dans `public/` à partir du
contenu du répertoire `src/`.
## Organisation des fichiers
Le répertoire `src/` est parcouru récursivement, et les fichiers sont traités comme suit :
- Les fichiers `index.md` sont convertis en présentation `index.html`.
- Les fichiers `.png`, `.jpg`, `.gif` et `.svg` sont copiés tels quels.
- Les fichiers `.drawio` sont convertis en fichiers `.svg`.
- S'il n'y a pas de fichier `index.md` à la racine, un index des présentations est généré.
- Un fichier `.pdf` est généré par fichier `index.md`, avec le nom du répetoire parent (en sortie).
## Exemple
<div style="display:flex;width:100%;align-items:center">
<div style="flex-grow: 1">
Entrée:
```
src\
pres1\
index.md
graph.drawio
pres2\
index.md
photo.jpg
```
</div>
<div style="margin: 1ex; font-size: 24pt"></div>
<div style="flex-grow: 1">
Sortie :
```
public\
index.html
public.pdf
pres1\
index.html
pres1.pdf
graph.svg
pres2\
index.html
pres2.pdf
photo.jpg
```
</div>
</div>
## Exécution
### A partir des sources:
Exécution unique :
```shell
gulp build
```
Mode développement :
```shell
gulp dev
```
En mode développement, une première génération est effectuée, puis
un serveur web local est lancé -- l'adresse s'affichera dans le terminal.
Les fichiers sont régénérés automatiquement lorsque les ficheirs sources sont
modifiés, et si tout va bien, la présentation est rechargée automatiquement.
```
[...]
[17:54:38] Starting 'serve'...
[17:54:38] Starting 'watch_prez'...
[17:54:38] Starting 'watch_assets'...
[17:54:38] Starting 'watch_graphs'...
[17:54:38] Starting 'watch_pdf'...
[17:54:38] Webserver started at http://localhost:3000
```
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment