ajout filtre timesheet
This commit is contained in:
parent
d2ac214af0
commit
ec517decdf
24
README.md
24
README.md
@ -35,4 +35,28 @@ Ceci est un truc (des trucs et astuces)
|
|||||||
:::
|
:::
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### `timesheet.lua`
|
||||||
|
|
||||||
|
Extrait des timesheets d'un fichier markdown.
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
|
||||||
|
Markdown associé:
|
||||||
|
|
||||||
|
---
|
||||||
|
timesheet: /path/to/file.csv
|
||||||
|
---
|
||||||
|
|
||||||
|
```{.timesheet}
|
||||||
|
2020-12-15, CL, 1, test
|
||||||
|
```
|
||||||
|
|
||||||
|
Execution:
|
||||||
|
|
||||||
|
```
|
||||||
|
pandoc --to markdown --lua-filter timesheet.lua
|
||||||
|
```
|
||||||
|
|
||||||
|
Le fichier CSV sera enregistré à la place du fichier `/path/to/file.csv`
|
||||||
|
|
||||||
|
|
||||||
|
9
fixtures/timesheet.md
Normal file
9
fixtures/timesheet.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
timesheet: /tmp/timesheet.csv
|
||||||
|
---
|
||||||
|
|
||||||
|
```{.timesheet}
|
||||||
|
|
||||||
|
2020-01-01, CL, 1, test
|
||||||
|
|
||||||
|
```
|
43
timesheet.lua
Normal file
43
timesheet.lua
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
require 'io'
|
||||||
|
|
||||||
|
local timesheet_export = nil
|
||||||
|
local timesheet_content = ""
|
||||||
|
|
||||||
|
local function Meta(meta)
|
||||||
|
timesheet_export = pandoc.utils.stringify(meta['timesheet'])
|
||||||
|
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
local function save_timesheet(content)
|
||||||
|
timesheet_content = timesheet_content .. content
|
||||||
|
end
|
||||||
|
|
||||||
|
local function CodeBlock(elem)
|
||||||
|
for k,v in ipairs(elem.classes) do
|
||||||
|
if v == 'timesheet' then
|
||||||
|
save_timesheet(elem.text)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- do not modify elem
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
local function save()
|
||||||
|
file = io.open(timesheet_export, 'w+')
|
||||||
|
file:write(timesheet_content)
|
||||||
|
file:close()
|
||||||
|
end
|
||||||
|
|
||||||
|
local function Pandoc(pandoc)
|
||||||
|
save()
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
return {
|
||||||
|
{ Meta = Meta },
|
||||||
|
{ CodeBlock = CodeBlock },
|
||||||
|
{ Pandoc = Pandoc }
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user