Le site arthur.bebou.netlib.re - retour accueil
git clone git://bebou.netlib.re/arthur.bebou
Log | Files | Refs |
commit 7bdd4f29608f5cfcc13fcb7b4795c300da4b6c53 parent b2da881d849561cdee3acdcf8c2ed3f872bf21f2 Auterice: Arthur Pons <arthur.pons@unistra.fr> Date: Sat, 27 Apr 2024 23:40:00 +0200 Ajout sommaires Diffstat:
M | contents/datascience-cli/index.sh | | | 9 | ++++----- |
M | contents/navigation/index.sh | | | 32 | +++++++++++++++++++++++++++++++- |
M | layouts/html | | | 1 | + |
M | page | | | 12 | ++++++++++++ |
4 files changed, 48 insertions(+), 6 deletions(-)
diff --git a/contents/datascience-cli/index.sh b/contents/datascience-cli/index.sh @@ -480,7 +480,7 @@ la quatrième colonne (`--sum 4`) en groupant par années (`--group-by 3`). Il faut reconnaître que c'est un peu plus facile à écrire et à lire. C'est aussi dramatiquement plus efficace puisque la commande termine en 14 centièmes de secondes soit presque 20 fois moins que celle avec xargs. Cela pour deux -raisons principale. Premièrement les [tsv-utils] ont été vraiment bien +raisons principales. Premièrement les [tsv-utils] ont été bien optimisés pour faire de la lecture de fichiers `tsv` et `tsv` uniquement là où les autres outils sont souvent plus généralistes et ne peuvent donc pas se permettre certaines optimisations. Deuxièmement l'algorithme interne @@ -492,7 +492,7 @@ significatif. Si vous avec besoin de plus de performance et où s'il est vraiment important d'exprimer ce que vous voulez plus simplement alors [tsv-utils] pourrait vous être utile[^7]. -`tsv-summarize` sait aussi calculer des statistiques assez classique telles que +`tsv-summarize` sait aussi calculer des statistiques assez classiques telles que la moyenne, la médiane, l'écart type etc. Les tsv-utils savent aussi adresser les colonnes par leurs noms si un entête existe. A chaque fois que l'on a utilisé des chiffres on aurait pu utiliser le nom de la colonne. @@ -501,8 +501,8 @@ utilisé des chiffres on aurait pu utiliser le nom de la colonne. Et si l'on veut faire des jointures ? Admettons que notre fichier soit séparé en deux, d'un côté nous avons les codes des pays, les années et les valeurs, de -l'autre nous avons la correspondance entre les codes des pays et leur nom -complet. +l'autre nous avons la correspondance entre les codes des pays et leur noms +complets. head correspondance.tsv sans-pays.tsv ==> correspondance.tsv <== @@ -804,4 +804,3 @@ Quelques graphs un peu jolis mais inutilisables : [sed et ses performances]: ../substitutions [tentative de reproduction]: starcraft.html [article analysant des données à propos d'un tournoi de starcraft]: https://www.kaggle.com/code/fulviocapra/sc2-iem-katowice-data-analytics -% diff --git a/contents/navigation/index.sh b/contents/navigation/index.sh @@ -76,12 +76,42 @@ Sur un raspberry 3b le temps pour récupérer le markdown et l'afficher dans le terminal est d'environ `0,08s`. Par ailleurs `curl` prend `0,5Mo` sur le disque. Si l'on veut lire l'article dans un pager ou un éditeur de texte ou peut piper -la sortie de curl +la sortie de curl. curl -s arthur.bebou.netlib.re/index.md | less #ou curl -s arthur.bebou.netlib.re/index.md | vim - +Avec un petit `:setf markdown` on a même de la coloration syntaxique ! + +## Naviguer dans vim + +> Super mais comment on fait pour naviguer dans le site ? + +Eh bien nous allons pouvoir le faire grâce à une fonctionnalité magique de vim, +le fait de pouvoir traiter le texte affiché à l'écran comme du code. On exécute +là où l'on lit. Ainsi, si un lien vers un autre fichier md apparaît dans le +document, il est possible d'y préfixer la commande curl qui va bien, d'exécuter +la commande et récupérer le contenu du lien. + +Par exemple faire de : + + 2024-04-26 - **[Naviguer en md dans vim](http://arthur.bebou.netlib.re/navigation/index.md)** + +ça : + + 2024-04-26 - **[Naviguer en md dans vim] + curl -s http://arthur.bebou.netlib.re/navigation/index.md + +se mettre sur la ligne avec le curl et taper `!!sh` puis faire entrer : + + 2024-04-26 - **[Naviguer en md dans vim] + Naviguer en md dans vim + + D'expérience, sur un vieil ordinateur, faire tourner un naviguateur web est + l'une des choses "classiques"[^1] les plus gourmandes en mémoire et en calcul. + S'en passer que c'est possible permettrait donc d'allonger la durée de vie de + [^1]: sous entendu pas de montage vidéo, de modélisation 3D ou de jeux vidéo aux graphismes 3D diff --git a/layouts/html b/layouts/html @@ -19,6 +19,7 @@ $([ "$file" = "contents/index.sh" ] || echo "~$time minutes - <a href="/">Retour </header> <body> <main> + $( [ "$file" = "contents/index.sh" ] || the tdm) $(the main) </main> </body> diff --git a/page b/page @@ -43,6 +43,18 @@ the() { cat "$@" } +grep -E "^##+" "$file" > $the/titles +< $the/titles lowdown | + grep -v '^$' | + cut -d'"' -f2 | + sed -E 's/^/(#/;s/$/)/' > $the/slugs +sed -E 's/#/ /g;' $the/titles | + sed -E 's/ (\w)/[\1/;s/$/]/' | + sed -E 's/([^* ])/* \1/' | + paste - $the/slugs | + sed '$ a - - -' | + save_md tdm + case "$TARGET" in (html) . layouts/html ;; (term) . layouts/plain ;;