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