Skip to content

Utilisation avancée de Markdown

Lorsque la syntaxe de base et étendue de Markdown ne suffit plus à répondre à des besoins spécifiques, il est nécessaire de maîtriser des astuces avancées et des solutions de contournement. Ce chapitre explique comment dépasser les limites de Markdown pour obtenir des mises en forme et des fonctionnalités plus complexes.

Qu'est-ce que l'utilisation avancée ?

L'utilisation avancée (aussi appelée "workarounds") désigne l'obtention d'effets de mise en forme spécifiques grâce à des méthodes créatives malgré les limitations de la syntaxe Markdown. Ces astuces impliquent généralement :

  • L'intégration de code HTML
  • La combinaison de différents éléments de syntaxe
  • L'utilisation d'extensions spécifiques à une plateforme
  • L'utilisation d'outils et de plugins tiers

Principaux scénarios d'application

Contrôle de la mise en page

  • Alignement du texte
  • Mise en page multi-colonnes
  • Texte et images mélangés
  • Ajustement des espacements

Personnalisation du style

  • Couleurs
  • Modification de la police
  • Contrôle de la taille
  • Effets spéciaux

Contenus avancés

  • Formules mathématiques
  • Graphiques et diagrammes
  • Éléments interactifs
  • Médias intégrés

Améliorations HTML

Balises HTML de base

Markdown permet d'utiliser directement des balises HTML dans les documents :

html
<div style="text-align: center;">
  <strong style="color: red;">Texte centré en gras et rouge</strong>
</div>

<img src="image.jpg" width="300" height="200" alt="Image avec taille spécifiée">

<table border="1">
  <tr>
    <td style="background-color: #f0f0f0;">Tableau avec style personnalisé</td>
  </tr>
</table>

Contrôle du style

Utilisez des styles CSS pour un contrôle précis :

html
<p style="color: blue; font-size: 18px; text-align: center;">
  Paragraphe bleu, 18px, centré
</p>

<div style="border: 2px solid #333; padding: 10px; border-radius: 5px;">
  Zone de contenu avec bordure
</div>

Gestion avancée des images

Alignement des images

html
<!-- Alignée à gauche -->
<img src="image.jpg" align="left" width="200">

<!-- Alignée à droite -->
<img src="image.jpg" align="right" width="200">

<!-- Alignée au centre -->
<div align="center">
  <img src="image.jpg" width="300">
</div>

Contrôle de la taille des images

html
<!-- Largeur et hauteur fixes -->
<img src="image.jpg" width="300" height="200">

<!-- Image responsive -->
<img src="image.jpg" style="max-width: 100%; height: auto;">

<!-- Image avec bordure -->
<img src="image.jpg" style="border: 2px solid #ddd; border-radius: 8px;">

Texte et images mélangés

html
<div style="display: flex; align-items: center;">
  <img src="avatar.jpg" width="80" height="80" style="margin-right: 15px;">
  <div>
    <h3 style="margin: 0;">Nom d'utilisateur</h3>
    <p style="margin: 5px 0;">Ceci est le texte de présentation de l'utilisateur...</p>
  </div>
</div>

Améliorations des tableaux

Personnalisation du style des tableaux

html
<table style="border-collapse: collapse; width: 100%;">
  <thead style="background-color: #f2f2f2;">
    <tr>
      <th style="border: 1px solid #ddd; padding: 8px;">Titre colonne 1</th>
      <th style="border: 1px solid #ddd; padding: 8px;">Titre colonne 2</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background-color: #f9f9f9;">
      <td style="border: 1px solid #ddd; padding: 8px;">Donnée 1</td>
      <td style="border: 1px solid #ddd; padding: 8px;">Donnée 2</td>
    </tr>
  </tbody>
</table>

Structures de tableaux complexes

html
<table>
  <tr>
    <td rowspan="2">Ligne fusionnée</td>
    <td>Cellule normale</td>
  </tr>
  <tr>
    <td>Cellule normale</td>
  </tr>
  <tr>
    <td colspan="2">Colonne fusionnée</td>
  </tr>
</table>

Prise en charge des formules mathématiques

Syntaxe LaTeX

De nombreuses plateformes prennent en charge les formules mathématiques LaTeX :

latex
Formule en ligne : $E = mc^2$

Formule en bloc :
$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$

Matrice :
$$
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
$$

Intégration MathJax

html
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>

Graphiques et diagrammes

Diagrammes Mermaid

mermaid
graph TD
    A[Début] --> B{Condition}
    B -->|Oui| C[Action A]
    B -->|Non| D[Action B]
    C --> E[Fin]
    D --> E

Diagramme de Gantt

mermaid
gantt
    title Plan de projet
dateFormat  YYYY-MM-DD
section Phase de conception
Analyse des besoins      :done,    des1, 2023-01-01,2023-01-15
Conception UI       :active,  des2, 2023-01-16, 3d
section Phase de développement
Développement Frontend     :         dev1, after des2, 20d
Développement Backend     :         dev2, after des2, 25d

Éléments interactifs

Contenu repliable

html
<details>
  <summary>Cliquez pour développer</summary>
  <p>Voici le contenu replié...</p>
</details>

Barre de progression

html
<progress value="70" max="100">70%</progress>

Style de bouton

html
<button style="background-color: #4CAF50; color: white; padding: 10px 20px; border: none; border-radius: 4px;">
  Bouton Cliquable
</button>

Astuces de mise en page

Mise en page multi-colonnes

html
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px;">
  <div>
    <h3>Contenu colonne de gauche</h3>
    <p>Voici le contenu de la colonne de gauche...</p>
  </div>
  <div>
    <h3>Contenu colonne de droite</h3>
    <p>Voici le contenu de la colonne de droite...</p>
  </div>
</div>

Mise en page carte

html
<div style="border: 1px solid #ddd; border-radius: 8px; padding: 16px; margin: 16px 0; box-shadow: 0 2px 4px rgba(0,0,0,0.1);">
  <h3 style="margin-top: 0;">Titre de la carte</h3>
  <p>Description du contenu de la carte...</p>
  <a href="#" style="color: #007bff; text-decoration: none;">En savoir plus</a>
</div>

Fonctionnalités spécifiques aux plateformes

Fonctionnalités GitHub

markdown
<!-- Liste de tâches -->
- [x] Tâche terminée
- [ ] Tâche incomplète

<!-- Mentionner un utilisateur -->
@utilisateur

<!-- Référence à un ticket -->
#123

<!-- Diff de code -->
```diff
- Ligne supprimée
+ Ligne ajoutée

### Fonctionnalités GitLab

```markdown
<!-- Intégration vidéo -->
![vidéo](video.mp4)

<!-- Intégration audio -->
![audio](audio.mp3)

Recommandations de bonnes pratiques

Compatibilité

  • Testez votre syntaxe avancée sur différentes plateformes
  • Prévoyez des solutions de repli pour les plateformes non supportées
  • Privilégiez la syntaxe Markdown standard

Optimisation des performances

  • Évitez l'utilisation excessive de styles en ligne
  • Utilisez des fichiers CSS externes pour un style unifié
  • Compressez les images et fichiers médias

Maintenabilité

  • Gardez un code propre et lisible
  • Ajoutez les commentaires nécessaires
  • Utilisez le contrôle de version pour gérer la documentation

Outils et ressources

Éditeurs recommandés

  • Typora – Éditeur WYSIWYG
  • Obsidian – Outil de gestion de connaissances
  • Mark Text – Éditeur avec aperçu en temps réel

Outils en ligne

Ressources de référence

Pour aller plus loin

Build by www.markdownlang.com