template-asciidoctor-dockerized
Génération de slides, pdf, ebook, docx à l’aide de Asciidoctor, RevealJs et Docker Compose.
Ce dépôt a été généré à partir du template : github.com/baldir-fr/template-asciidoctor-dockerized
Écrire du contenu
Modifier les fichiers présents dans _content/
.
Voir la section Ressources Asciidoctor complémentaires pour démarrer avec Asciidoctor et RevealJs.
Génération du contenu
Génération du Pdf
docker compose run --rm build-slides; rm -rf docs/assets;cp -r _content/assets docs/
# Ou avec GNU Make
make dc-pdf
Génération docx
Prérequis
Sur macOS (M1), l’image Docker n’étant pas optimisée pour Il reste préférable de lancer la commande pandoc native qui donne des performances en dessous de la seconde (installation : Temps de génération moyen observé avec Docker sur macOS
Temps de génération moyen observé avec la commande pandoc installée sur la machine hôte
|
Après avoir généré le docbook
# Avec docker installé
docker compose run --rm build-docx
# Ou avec GNU Make
make dc-docx
# Avec pandoc installé localement (à privilégier sur macOS M1)
./generate-docx.sh
# Ou avec GNU Make
make docx
Déploiement
Gitlab
Si ce dépôt est sur Gitlab.
Le pipeline .gitlab-ci.yml
est préconfigurée pour
-
Copier les assets
-
Générer les slides au format HTML
-
Générer le PDF
-
Générer l’e-book au format epub
-
Générer le schéma docbook
-
Générer le docx (à partir du schéma docbook)
-
Publier l’ensemble du contenu sur la gitlab page correspondant au projet
Gitlab CI + Gitlab Pages depuis un dépôt Git externe
Il est possible de créer un projet Gitlab uniquement pour exécuter la CI et le déploiement sur des Gitlab pages.
Dans ce mode, Gitlab (premium) va créer un projet uniquement pour exécuter le pipeline déclaré dans .gitlab-ci.yml
.
Pour que le déclenchement automatique lors de changements
Exemple de contenu déployé sur une Gitlab Page : gitlab.com/marc-bouvier/template-asciidoctor-dockerized-gitlab-pages/-/pipelines
Github Pages "classique"
Dans ce mode de déploiement, le contenu devra être généré au préalable.
C’est-à-dire que le contenu du dossier docs
est généré sur le dépôt local du développeur, puis commit et push.
Cette configuration génère un site jekyll à partir d’une github action préconfigurée.
-
Dans le menu "Settings" de Github.
-
Section "Pages"
-
Build and deployment
-
Source : Deploy from branch
-
Branch :
main
,/docs
-
-
-
GitHub Pages via GitHub Actions
Dans ce mode de déploiement, une Github Action est définie dans .github/workflows/generate-docs-and-publish-with-gitlab-pages.yml
.
Elle est préconfigurée pour
-
copier les assets
-
Générer les slides au format HTML
-
Générer le PDF
-
Générer l’e-book au format epub
-
Générer le schéma docbook
-
Générer le docx (à partir du schéma docbook)
-
Publier l’ensemble du contenu sur la gitlab page correspondant au projet