Mon Blog

Blog généré avec Pandoc et Markdown

Techniques avancées avec Pandoc

Pandoc est bien plus qu’un simple convertisseur Markdown vers HTML. Découvrons quelques fonctionnalités avancées.

Filtres Pandoc

Les filtres permettent de transformer le document pendant la conversion. Ils peuvent être écrits en Lua, Python, ou autres langages.

Exemple de filtre Lua simple

function Header(el)
  if el.level == 1 then
    el.attributes.class = "main-title"
  end
  return el
end

Templates personnalisés

Pandoc utilise des templates pour générer le HTML final. Vous pouvez créer vos propres templates :

pandoc --print-default-template=html5 > custom-template.html

Ensuite, modifiez le template et utilisez-le :

pandoc input.md -o output.html --template=custom-template.html

Variables et métadonnées

Les métadonnées YAML peuvent être utilisées dans les templates :

---
title: "Mon article"
author: "Michel"
lang: fr
keywords: [pandoc, markdown, html]
---

Extensions Markdown

Pandoc supporte de nombreuses extensions Markdown :

Tables avancées

+---------------+---------------+--------------------+
| Fruit         | Price         | Advantages         |
+===============+===============+====================+
| Bananas       | $1.34         | - built-in wrapper |
|               |               | - bright color     |
+---------------+---------------+--------------------+

Notes de bas de page

Voici un texte avec une note1.

Définitions

Terme
Définition du terme

Attributs sur les éléments

![Image](img.jpg){width=50%}

## Titre {#custom-id .my-class}

Conversion vers d’autres formats

Vers PDF

pandoc input.md -o output.pdf --pdf-engine=xelatex

Vers DOCX

pandoc input.md -o output.docx --reference-doc=template.docx

Vers EPUB

pandoc input.md -o output.epub --toc --epub-cover-image=cover.jpg

Options utiles

Table des matières

pandoc input.md -o output.html --toc --toc-depth=3

Numérotation des sections

pandoc input.md -o output.html --number-sections

Inclusion de fichiers

pandoc header.md content.md footer.md -o output.html

Conclusion

Pandoc est un outil extrêmement flexible qui mérite d’être exploré en profondeur. Ces techniques avancées vous permettront de créer des documents professionnels et hautement personnalisés.

Ressources