diff --git a/README.md b/README.md index e467de2..0a5aacf 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,8 @@ Ceci est un truc (des trucs et astuces) A partir de ce texte: ``` -::: { .exercice } + +::: { .exercice title="Titre de l'exercice" } Description de l'exercice. @@ -58,6 +59,9 @@ 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` diff --git a/exercice-only.lua b/exercice-only.lua new file mode 100644 index 0000000..ef558e8 --- /dev/null +++ b/exercice-only.lua @@ -0,0 +1,20 @@ + +function Pandoc(doc) + local hblocks = {} + for i,el in pairs(doc.blocks) do + if (el.t == "Div" and el.classes:includes("exercice", 1)) + then + if (el.attributes['title'] ~= nil) + then + table.insert(hblocks, pandoc.Header(1, pandoc.Inlines(el.attributes['title']))) + end + table.insert(hblocks, el) + end + end + return pandoc.Pandoc(hblocks, doc.meta) +end + + +return { + { Pandoc = Pandoc }, +}