# md-render

Convertisseur Markdown → HTML en ligne de commande avec prévisualisation live.

## Installation

```bash
npm install
npm link   # rend la commande md-render disponible globalement
```

## Utilisation

```bash
# Conversion simple (génère un fichier .html)
md-render README.md

# Conversion vers un fichier spécifique
md-render README.md -o documentation.html

# Mode preview — ouvre dans le navigateur sans créer de fichier
md-render README.md --preview

# Mode preview sur un port personnalisé
md-render README.md --preview --port 8080

# Mode watch — ouvre http://localhost:3000 avec rechargement automatique
md-render README.md --watch

# Mode watch sur un port personnalisé
md-render README.md --watch --port 8080
```

## Options

| Option              | Alias | Description                                        | Défaut         |
|---------------------|-------|----------------------------------------------------|----------------|
| `--watch`           | `-w`  | Lance le serveur avec rechargement auto            | —              |
| `--preview`         | `-v`  | Ouvre dans le navigateur sans créer de fichier     | —              |
| `--port <port>`     | `-p`  | Port du serveur en mode watch ou preview           | `3000`         |
| `--output <fichier>`| `-o`  | Fichier HTML de sortie                             | `<input>.html` |
| `--help`            | `-h`  | Affiche l'aide                                     | —              |

## Mode preview

En mode `--preview`, le Markdown est converti en mémoire et affiché directement dans votre
navigateur — **aucun fichier HTML n'est créé sur le disque**. Le navigateur s'ouvre automatiquement.
Appuyez sur `Ctrl+C` pour arrêter le serveur.

```bash
md-render README.md --preview        # fichier unique
md-render mon-wiki/ --preview        # dossier entier (avec sidebar)
```

## Mode watch

En mode `--watch`, un serveur HTTP est démarré localement. Ouvrez `http://localhost:3000`
dans votre navigateur. À chaque sauvegarde du fichier Markdown, la page se recharge automatiquement
via une connexion SSE (Server-Sent Events).

Les assets relatifs (images, etc.) placés dans le même répertoire que le `.md` sont servis automatiquement.

## Fonctionnalités

- 🎨 Coloration syntaxique du code (highlight.js)
- 📄 Style GitHub-like
- 👁  Prévisualisation instantanée sans fichier (`--preview`)
- 🔄 Rechargement automatique en mode watch
- 🖼 Serveur de fichiers statiques pour les images locales
- ⚡ Debounce intelligent pour éviter les rechargements en rafale
- 🛡 Protection contre le path traversal
