Dans les termes du Skill
md-slides convertit un deck markdown en une présentation HTML monofichier qui s'exécute dans n'importe quel navigateur. Un deck est constitué de diapositives séparées par des frontières HR --- ou des titres H1, avec des blocs optionnels de notes de présentateur <!-- notes: ... -->. Un pipeline de trois scripts Python stdlib : slide_splitter.py, presenter_notes_parser.py, deck_html_renderer.py.
Le résultat intègre une navigation au clavier, un lien profond via hash d'URL, une barre de progression et un compteur de diapositives, un mode présentateur avec horloge et aperçu de la diapositive suivante, ainsi qu'une feuille de style d'impression pour l'export PDF à une diapositive par page. Il réutilise l'analyseur markdown de md-document et lit les tokens du design system via config_loader.py. Il refuse les entrées sans frontières de diapositives claires, les decks d'une seule diapositive, les fichiers de moins de 100 lignes et les decks échouant à la couverture de 50 % en --strict-notes.
Ce qu'il produit
- Le deck HTML généré, écrit sous forme de deck-{slug}.html dans le répertoire de sortie par défaut résolu, avec -2, -3, etc. ajoutés en cas de collision.
- Fichiers JSON intermédiaires contenant les diapositives découpées puis les diapositives avec leurs notes associées.
- Un PDF avec une diapositive par page, produit via la feuille de style d'impression en imprimant depuis le navigateur.
Fonctionnement
- 01Découper le Deck en Diapositives Ordonnées
slide_splitter.py lit le markdown source et le découpe sur les lignes HR --- ou les titres H1, en détectant automatiquement le style de frontière par défaut, puis écrit une liste ordonnée de diapositives.
- 02Associer les Notes de Présentateur à Chaque Diapositive
presenter_notes_parser.py analyse chaque diapositive à la recherche de blocs de notes et les associe à cette diapositive afin que le mode présentateur ait quelque chose à afficher sur le panneau de droite.
- 03Rendre le Deck HTML Monofichier
deck_html_renderer.py combine les diapositives avec les tokens du design system et génère le deck, en prenant un titre et un chemin de sortie en ligne de commande.
- 04Appliquer les Tokens du Design System
Douze propriétés CSS personnalisées de marque proviennent du design system, et design_style modifie la densité des mises en page des diapositives.
- 05Refuser les entrées qui ne sont pas des présentations
Le skill s'arrête plutôt que de convertir lorsque l'entrée n'a pas de limites de diapositives claires, produirait une seule diapositive, ou échoue le contrôle de couverture des notes sous --strict-notes.