Actualiser README.md
This commit is contained in:
1 parent
bff80f9f9f
commit
92f1d15a32
1 file changed
+122
-1
@@ -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 `<section>` (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
|
||||||
|
```
|
||||||
|
|
||||||
Reference in new issue
Block a user