# 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 ``` ## Filtres ### `boxes.lua` Ajoute des boxes aux documents latex, en utilisant [awesomebox](https://ctan.org/pkg/awesomebox). :warning: Nécessite le paquet CTAN correspondant, qui doit être installé sur le poste qui génère le pdf. Boxes disponibles: * note; * tip; * warning; * caution; * important; * info (alias pour "note"); Usage: ``` ::: { .tip } Ceci est un truc (des trucs et astuces) ::: ``` ### Traitement des solutions et exercices dans un pdf A partir de ce texte: ``` ::: { .exercice title="Titre de l'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é. * `exercice-only.lua`: crée un document qui ne contiendra que les exercices dans le document. Si `remove-solutions` est également utilisé, alors les solutions seront également enlevées. Si un titre est présent, alors un titre sera ajouté avant l'exercice. ### `timesheet.lua` Extrait des timesheets d'un fichier markdown. Usage: En markdown, indiquer: * 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` Exemple: `````markdown --- timesheet: /path/to/file.csv --- ```{.timesheet} 2020-12-15, CL, 1, test ``` ````` Execution: ``` 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 ```