Commit cf65f2e7 authored by sauret's avatar sauret

update 03 outils avec template et yaml

parent c251b381
......@@ -11,7 +11,6 @@
- [Prise en main de Git](#prise-en-main-de-git)
- [Exercice - créer son premier répertoire](#exercice-crer-son-premier-rpertoire)
- [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)
......@@ -143,7 +142,18 @@ Quelques utilisations possibles :
pandoc --standalone --ascii --bibliography=references.bib -f markdown -t html fichier.md -o fichier.html
## Introduction au YAML
## Exercice de conversion
- Export simple: (génère du html correctement formé, mais un document incomplet)
pandoc -f markdown -t html monfichier.md -o export.html
- Export complet "standalone": (génère un document html complet)
pandoc --standalone -f markdown -t html monfichier.md -o export.html
- Ajout des métadonnées en en-tête de fichier. Vous pouvez ajouter les lignes suivantes en entête de fichier markdown pour associer à votre document les principales métadonnées.
```yaml
---
......@@ -160,19 +170,13 @@ lang:
---
```
## Exercice de conversion
- Export simple: (génère du html correctement formé, mais un document incomplet)
Ces métadonnées sont celles que Pandoc utilise par défaut pour produire les documents dans les différents formats. Mais selon les formats, il en existe d'autres, et il est par ailleurs possible de créer ses propres métadonnées et de les utiliser en modifiant les modèles par défaut de Pandoc.
pandoc -f markdown -t html monfichier.md -o export.html
Ces métadonnées peuvent soit être placées en tête de fichier Markdown, soit être placées dans un fichier séparé, au format YAML (extension : `.yaml`). Dans ce cas, la commande Pandoc précédente devra préciser où sont les métadonnées (ici dans un fichier `metadonnes.yaml`) :
- Export complet "standalone": (génère un document html complet)
pandoc --standalone -f markdown -t html monfichier.md metadonnees.yaml -o export.html
pandoc --standalone -f markdown -t html monfichier.md -o export.html
- Ajout du yaml en en-tête
- Export en prenant en compte le fichier de bibliographie :
- Export en prenant en compte le fichier de bibliographie avec l'option `--bibliography=FILE`:
pandoc --standalone --bibliography=monfichier.bib --filter pandoc-citeproc -f markdown -t html monfichier.md -o export.html
......@@ -196,15 +200,15 @@ link-citations: true
---
```
- Ajout d'une table des matières:
- Ajout d'une table des matières avec l'option `--toc`:
pandoc --standalone --toc --filter pandoc-citeproc -f markdown -t latex monfichier.md -o export.pdf
- Export en XML TEI:
- Export en XML TEI avec l'option `-t tei`:
pandoc --standalone --filter pandoc-citeproc -f markdown -t tei monfichier.md -o export.xml
- Conversion d'un fichier ODT (docx fonctionne aussi) en markdown, ce qui produit une meilleure base de travail:
- Conversion d'un fichier ODT (docx fonctionne aussi) en markdown, ce qui produit une meilleure base de travail (remarque: l'option `--extract-media` permet d'extraire les médias du document dans un sous-dossier `/media`)
pandoc -f odt -t markdown --extract-media=./ --atx-headers export.odt -o exportMD.md
......@@ -220,9 +224,9 @@ Yaml | template | Html (par exemple)
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$`.
Le corps du texte (c'est-à-dire l'intégralité du fichier markdown par exemple) est ajouté au document de sortie avec la variable `$body$`. S'il n'est pas possible d'intervenir dans le template de ce corps de texte, il est par contre possible d'intervenir avant ou après la variable `$body$` (pour ajouter du contenu générique par exemple), et d'intervenir sur les métadonnées du document.
Pour créer un template personnalisé, commençons par récupérer le template par défaut dans un fichier.
Pour créer un template personnalisé, commençons par récupérer le template par défaut d'un format (ici HTML) dans un fichier `montemplate.html`.
pandoc -D html > montemplate.html
......@@ -239,3 +243,12 @@ image: auteur.jpg
```
Puis dans le template, nous pouvons ajouter une balise `<img>` :
`$if(image)$
<img src="$image$" width="30%"/>
$endif$
`
Enfin, pour que Pandoc prenne en compte le nouveau template, vous devez ajouter l'option `--template=FILE`, soit la commande complète suivante :
pandoc --standalone --filter pandoc-citeproc --template=montemplate.html -f markdown -t html monfichier.md metadata.yaml -o export_2.html
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