cours/obsidian plugin ob table enhancer.md
oscar.plaisant@icloud.com a2ee0fa5ca from github to this gitea
2023-10-23 23:09:51 +02:00

78 lines
2.0 KiB
Markdown

up::[[obsidian plugins]]
link::https://github.com/Stardusten/ob-table-enhancer/tree/master
title::"edition de tables, javascript dans les cellules"
#obsidian
----
- édition de tables (plus que le formattage de [[obsidian plugin advanced tables|advanced tables]])
- fonctionne correctement avec le [[LaTeX]] et les styles
- javascript dans les cellules
- `>>>` pour interpréter le [[javascript]]
- variables magiques
- `c` : colonne actuelle (character array)
- `nc` : colonne actuelle (number array)
- `t` : la table entière
- `t.cells` : tableau des cellules (comme strings)
- `t.cells[0]` ligne de titre
- `t.cells[0][0]` première cellule
- `t.cells.length` largeur
- `t.cells[0].length` hauteur
- `t.formatRow` : les `----` contenux dans chaque colonne, dans un array
- exemple : `[' ---- ', ' ---- ', ' ------ ']`
> [!idea] Fonctions [[javascript]] utiles
> - `array.length`
> - `array.filter(x => condition(x))`
> - `string.contains('test')`
> - fonctions builtin :
> - `sum`
> - `avg`
> - `min`
> - `max`
# Examples
## Total
### Total simple
| | prix |
| ------- | ---- |
| | 10 |
| | 3 |
| | 9 |
| total : |>>>sum(nc)|
### Total de certaines valeurs
| | gains |
| --- | ----- |
| | 10 |
| | 1 |
| | 2 |
| | 73 |
| | -42 |
| | 7 |
| | -12 |
|total des gains :|>>>sum(nc.filter(x => x>=0))|
|total des pertes :|>>>sum(nc.filter(x => x<=0))|
### Compter des valeurs
Nombre d'occurences de "TODO" :
| task | State |
| ------------ | ----- |
| do something |**TODO**|
| say hello | DONE |
| say goodbye |TODO|
| hello hello |TODO quickly|
| you say | DONE |
| goodbye | TODO |
| i say |_TODO_|
| hello |DONE ($y = \sqrt{1-x^2}$)|
| a faire : |>>>c.filter(cell => cell.contains('TODO')).length|
|faits :|>>>c.filter(cell => cell.contains('DONE')).length|