script pour gérer les exercices

This commit is contained in:
Julien Fastré 2023-09-19 08:49:00 +02:00
parent 5469373800
commit e6408fe35a
Signed by: julienfastre
GPG Key ID: BDE2190974723FCB
2 changed files with 25 additions and 1 deletions

View File

@ -42,7 +42,8 @@ Ceci est un truc (des trucs et astuces)
A partir de ce texte: A partir de ce texte:
``` ```
::: { .exercice } <!-- la balise "title" est facultative" -->
::: { .exercice title="Titre de l'exercice" }
Description de l'exercice. Description de l'exercice.
@ -58,6 +59,9 @@ Solution de l'exercice
Les scripts lua suivant vont: Les scripts lua suivant vont:
* `remove-solutions.lua`: effacer la solution des exercices du document généré. * `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` ### `timesheet.lua`

20
exercice-only.lua Normal file
View File

@ -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 },
}