Commit c251b381 authored by sauret's avatar sauret

update 03_outils template

parent fc77d6b9
......@@ -13,6 +13,7 @@
- [Prise en main de Pandoc](#prise-en-main-de-pandoc)
- [Introduction au YAML](#introduction-au-yaml)
- [Exercice de conversion](#exercice-de-conversion)
- [Les templates dans Pandoc](#les-templates-dans-pandoc)
<!-- /TOC -->
......@@ -207,15 +208,34 @@ link-citations: true
pandoc -f odt -t markdown --extract-media=./ --atx-headers export.odt -o exportMD.md
## Les templates dans Pandoc
Pandoc utilise des templates par défaut pour chacun des formats de sorties. Le principe du template est simple: Pandoc remplace les variables du template par les valeurs déclarées dans les métadonnées présentes soit dans un fichier yaml, soit dans l'entête yaml du fichier markdown.
Soit :
1. Sources de leur article
1. éditer le yaml
2. exports
- PDF simple : pandoc
- Html : pandoc
- epub : pandoc
- xml-tei : pandoc
Yaml | template | Html (par exemple)
:--|:--|:--
`auteur: Niels Planel` | `<meta name="author" content="$auteur$">` | `<meta name="author" content="Niels Planel">`
2. Transformer un document docx en md et compléter l'édition pour une sortie pdf.
Pandoc ne nous permet pas réellement de toucher au corps du texte, à moins d'utiliser des options (voir la documentation) ou des filtres particuliers que l'on peut soit-même créer, selon ses besoins.
Le corps du texte est ajouté à un document avec la variable `$body$`.
Pour créer un template personnalisé, commençons par récupérer le template par défaut dans un fichier.
pandoc -D html > montemplate.html
nb: cette commande fonctionne pour tous les formats de sortie (sauf docx/odt qui sont gérés autrement, voir la documentation Pandoc).
Vous pouvez maintenant ouvrir le fichier `montemplate.html` dans Atom pour voir comment il est structuré.
Comme exercice, nous allons ajouter une donnée dans le yaml, modifier le template en fonction et déclarer dans la commande Pandoc de prendre en compte le nouveau template.
Dans les métadonnées yaml, nous allons ajouter la clé/valeur en ajoutant une simple ligne :
```yaml
image: auteur.jpg
```
Puis dans le template, nous pouvons ajouter une balise `<img>` :
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment