From 92f1d15a32284652011ec667c7f67462ac7d6310 Mon Sep 17 00:00:00 2001 From: devcodetools Date: Mon, 21 Sep 2026 07:54:32 +0000 Subject: [PATCH] Actualiser README.md --- README.md | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 122 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2b4546e..34e4ef3 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,123 @@ -# new-marp-project +# new-marp-project.sh + +Script **Bash** pour générer un projet [Marp](https://marp.app/) prêt à l'emploi, en un seul appel. +Il installe la configuration (Marp CLI + extension VS Code), les thèmes CSS et un fichier de départ. + +## Objectif + +Démarrer un projet Marp **sans aucune configuration manuelle**, au choix : + +- **slides** — un diaporama classique 16:9 (thème `custom`) ; +- **a4** — un document au format A4 (thème `custom-a4`), conçu pour les exports PDF et DOCX. + +## Prérequis + +| Outil | Requis ? | Rôle | +| ------------ | ---------- | --------------------------------------- | +| `bash` | Oui | exécution du script | +| Marp CLI | Oui | exports PDF / PPTX / HTML | +| Node.js | Oui (via npx) | fournit Marp CLI | +| `pandoc` | Non | export DOCX (projets `a4` uniquement) | +| VS Code (+ extension Marp) | Non | préview et exports depuis l'éditeur | + +## Mode d'emploi + +Copier le script puis l'exécuter depuis le dossier voulu : + +```sh +# mode 1 — argument (recommandé) +./new-marp-project.sh slides mon-dossier +./new-marp-project.sh a4 mes-docs + +# mode 2 — interactif +./new-marp-project.sh + +# aide +./new-marp-project.sh --help +``` + +Le script refuse d'écrire dans un dossier existant non vide. + +### Fichiers générés + +**Type `slides` :** + +``` +mon-dossier/ +├── .marprc.json # config Marp CLI (themeSet) +├── slides.md # diapo de départ (theme: custom) +└── .vscode/ + ├── settings.json # config extension VS Code (markdown.marp.themes) + └── custom.css # thème "custom" +``` + +**Type `a4` :** + +``` +mes-docs/ +├── .marprc.json +├── document.md # page de départ (theme: custom-a4) +├── pandoc-strip-hr.lua # filtre pandoc (supprime les "---" dans le DOCX) +└── .vscode/ + ├── settings.json + ├── custom.css # thème "custom" (base) + └── custom-a4.css # thème "custom-a4" (importe + surcharge custom) +``` + +Il ne reste plus qu'à ouvrir `slides.md` ou `document.md` dans VS Code et lancer le preview Marp. + +## Exports + +```sh +# PDF (slides) — format 16:9 +npx @marp-team/marp-cli mon-dossier/slides.md --pdf + +# PPTX +npx @marp-team/marp-cli mon-dossier/slides.md --pptx + +# PDF (a4) — format A4 exact +npx @marp-team/marp-cli mes-docs/document.md --pdf + +# DOCX (a4) — pandoc, sans les traits "---" des séparateurs de diapos +pandoc mes-docs/document.md --lua-filter=mes-docs/pandoc-strip-hr.lua -o mes-docs/document.docx +``` + +> Les thèmes sont déjà déclarés dans `.marprc.json` : aucun paramètre `--theme-set` n'est nécessaire. + +## Infos utiles + +### Deux fichiers de config, deux usages + +- `.marprc.json` (clé `themeSet`) — lu par **Marp CLI** uniquement (exports). +- `.vscode/settings.json` (clé `markdown.marp.themes`) — lu par **l'extension VS Code** uniquement (préview). + +Les deux sont générés : sans eux, le thème `custom` / `custom-a4` ne serait pas reconnu. + +### Le thème `custom-a4` + +- Déclare la taille de page `210mm x 297mm` sur `
` (Marpit s'en sert aussi pour le PDF exporté). +- Réduit le corps de texte à `11pt` (le thème `default` impose `29px`, prévu pour des diapos 1280x720) et ajuste les titres : h1 ~16pt, h2 ~13.8pt, h3 ~12pt, h4 ~11pt. +- Importe `custom` via `@import` : toute modification de `custom.css` se répercute automatiquement, sans duplication. + +### Le filtre `pandoc-strip-hr.lua` + +Dans un fichier Marp, les `---` séparent les diapos. Sans filtre, pandoc les rend comme des **traits horizontaux** dans le DOCX ; le filtre les supprime. + +### Marp CLI : petites commandes utiles + +```sh +# Préview navigateur +npx @marp-team/marp-cli mon-dossier/slides.md -s + +# Export avec un chemin de sortie différent +npx @marp-team/marp-cli mon-dossier/slides.md -o /tmp/export.pdf +``` + +## Structure du dépôt + +``` +. +├── README.md # ce fichier +└── new-marp-project.sh # le script +```