2020-11-04 21:47:09 +00:00
|
|
|
# Pandoc Champs-Libres
|
|
|
|
|
|
|
|
Filtres et recommandations pour CL
|
|
|
|
|
|
|
|
## Metadatas
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
# Inclut babel-french
|
|
|
|
# le paquet ajoute des espaces insécables, les filtres lua "format semi-column",
|
|
|
|
# "format-column" et "
|
|
|
|
# voir: http://lesfichesabebert.fr/latex/Fran%C3%A7ais.html
|
|
|
|
babel-main: french
|
|
|
|
```
|
2020-11-24 13:44:16 +00:00
|
|
|
|
|
|
|
## Filtres
|
|
|
|
|
|
|
|
### `boxes.lua`
|
|
|
|
|
|
|
|
Ajoute des boxes aux documents latex, en utilisant [awesomebox](https://ctan.org/pkg/awesomebox).
|
|
|
|
|
2022-09-12 18:47:15 +00:00
|
|
|
:warning: Nécessite le paquet CTAN correspondant, qui doit être installé sur le poste qui génère le pdf.
|
|
|
|
|
2020-11-24 13:44:16 +00:00
|
|
|
Boxes disponibles:
|
|
|
|
|
|
|
|
* note;
|
|
|
|
* tip;
|
|
|
|
* warning;
|
|
|
|
* caution;
|
|
|
|
* important;
|
|
|
|
* info (alias pour "note");
|
|
|
|
|
|
|
|
Usage:
|
|
|
|
|
|
|
|
```
|
|
|
|
::: { .tip }
|
|
|
|
Ceci est un truc (des trucs et astuces)
|
|
|
|
:::
|
|
|
|
```
|
|
|
|
|
2022-09-12 18:47:15 +00:00
|
|
|
### Traitement des solutions et exercices dans un pdf
|
|
|
|
|
|
|
|
A partir de ce texte:
|
|
|
|
|
|
|
|
```
|
|
|
|
::: { .exercice }
|
|
|
|
|
|
|
|
Description de l'exercice.
|
|
|
|
|
|
|
|
:::::: { .solution }
|
|
|
|
|
|
|
|
Solution de l'exercice
|
|
|
|
|
|
|
|
::::::
|
|
|
|
|
|
|
|
:::
|
|
|
|
```
|
|
|
|
|
|
|
|
Les scripts lua suivant vont:
|
|
|
|
|
|
|
|
* `remove-solutions.lua`: effacer la solution des exercices du document généré.
|
|
|
|
|
|
|
|
|
2020-12-07 16:33:52 +00:00
|
|
|
### `timesheet.lua`
|
|
|
|
|
|
|
|
Extrait des timesheets d'un fichier markdown.
|
|
|
|
|
|
|
|
Usage:
|
|
|
|
|
2020-12-07 19:43:20 +00:00
|
|
|
En markdown, indiquer:
|
2020-12-07 16:33:52 +00:00
|
|
|
|
2020-12-07 19:43:20 +00:00
|
|
|
* une variable `timesheet`, qui indique le nom du fichier vers lequel exporter le contenu des timesheet;
|
|
|
|
* remplir les timesheet en csv, à l'intérieur du markdown. Pour chaque bloc de code concerné, indiquer une classe `.timesheet`
|
2020-12-07 16:33:52 +00:00
|
|
|
|
2020-12-07 19:43:20 +00:00
|
|
|
Exemple:
|
2020-12-07 16:33:52 +00:00
|
|
|
|
2020-12-07 19:43:20 +00:00
|
|
|
`````markdown
|
|
|
|
---
|
|
|
|
timesheet: /path/to/file.csv
|
|
|
|
---
|
|
|
|
|
|
|
|
```{.timesheet}
|
|
|
|
2020-12-15, CL, 1, test
|
|
|
|
```
|
|
|
|
`````
|
2020-12-07 16:33:52 +00:00
|
|
|
Execution:
|
|
|
|
|
|
|
|
```
|
2020-12-07 19:43:20 +00:00
|
|
|
pandoc --to markdown --lua-filter timesheet.lua fixtures/timesheet.md
|
|
|
|
```
|
|
|
|
|
|
|
|
Le fichier CSV sera enregistré à la place du fichier `/path/to/file.csv` (déterminé par la variable `timesheet` dans le front-matter du document).
|
|
|
|
|
|
|
|
Comme le fichier en sortie n'est pas utilisé, la sortie peut être re-dirigée vers `/dev/null`. Exemple chez JuFa depuis son fichier de TODO
|
|
|
|
|
|
|
|
```bash
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
cat $TODO | pandoc --to json -o /dev/null --lua-filter /home/julien/dev/champs-libres/pandocCL/timesheet.lua
|
2020-12-07 16:33:52 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
|
2020-11-24 13:44:16 +00:00
|
|
|
|