From d0a488a966501bfa644d59b002ba28e98cfc564a Mon Sep 17 00:00:00 2001
From: Orestis <orestis.malaspinas@pm.me>
Date: Thu, 24 Feb 2022 09:01:42 +0100
Subject: [PATCH] updated files to be able to generate index

---
 exemples/alot_of_scanfs.c            | 29 ++++++++++-------
 slides/command_line.md               |  4 +--
 slides/fonctions_dordre_superieur.md |  6 ++--
 slides/gen_index.sh                  | 47 ++++++++++++++++++++++++++++
 slides/genericite.md                 |  4 +--
 slides/intro.md                      |  4 +--
 slides/ligne_de_commande_c.md        |  4 +--
 slides/pointeurs_avances.md          |  4 +--
 slides/pointeurs_fonction.md         |  4 +--
 9 files changed, 80 insertions(+), 26 deletions(-)
 create mode 100755 slides/gen_index.sh

diff --git a/exemples/alot_of_scanfs.c b/exemples/alot_of_scanfs.c
index 4ca876d..b07864c 100644
--- a/exemples/alot_of_scanfs.c
+++ b/exemples/alot_of_scanfs.c
@@ -2,9 +2,11 @@
 #include <stdlib.h>
 #include <string.h>
 
-// Ce programme prend en argument deux entiers se trouvant chacun
+// Ce programme prend en argument deux
+// entiers se trouvant chacun
 // sur une nouvelle ligne et affiche
-// la somme des deux entiers en argument sur une nouvelle ligne.
+// la somme des deux entiers en argument
+// sur une nouvelle ligne.
 
 // Ex:
 // 12
@@ -19,8 +21,10 @@ void sum_two() {
     printf("\n%d\n", a + b);
 }
 
-// Ce programme prend en argument 12 nombres à virgule flottante se trouvant chacun
-// sur une nouvelle ligne. Multiplie chaque nombre par deux et affiche leur somme
+// Ce programme prend en argument 12 nombres à
+// virgule flottante se trouvant chacun
+// sur une nouvelle ligne. Multiplie chaque
+// nombre par deux et affiche leur somme
 // sur une nouvelle ligne suivi de CHF.
 
 // Ex:
@@ -51,9 +55,12 @@ void sum_array() {
     printf("\n%f CHF\n", sum);
 }
 
-// Ce programme prend en argument 2 chaînes de caractères sur des lignes séparées (longueur max de 80),
-// les sépare au milieu et retourne les 4 chaînes chacune sur une nouvelle ligne
-// (si la longueur N est paire on sépare en 2 chaînes de longueur N/2, sinon la première
+// Ce programme prend en argument 2 chaînes de
+// caractères sur des lignes séparées (longueur
+// max de 80), les sépare au milieu et retourne
+// les 4 chaînes chacune sur une nouvelle ligne
+// (si la longueur N est paire on sépare en 2
+// chaînes de longueur N/2, sinon la première
 // aura une longueur de N/2 et la seconde N/2+1).
 
 // Ex:
@@ -70,7 +77,7 @@ void split_mid() {
     for (int j = 0; j < 2; ++j) {
         char str[81];
         scanf("%s", str);
-        int n = strlen(str);
+        int n  = strlen(str);
         int n1 = n / 2;
         int n2 = n - n1;
         for (int i = 0; i < n1; ++i) {
@@ -90,7 +97,7 @@ void split_mid() {
 }
 
 int main() {
-    sum_two();
+    /* sum_two(); */
     sum_array();
-    split_mid();
-}
\ No newline at end of file
+    /* split_mid(); */
+}
diff --git a/slides/command_line.md b/slides/command_line.md
index 2ef1f15..b4ad4ed 100644
--- a/slides/command_line.md
+++ b/slides/command_line.md
@@ -1,6 +1,6 @@
 ---
-title: Introduction à la l'interface en ligne de commande
-date: 2021-09-21
+title: "Introduction à la l'interface en ligne de commande"
+date: "2021-09-21"
 ---
 
 # Introduction
diff --git a/slides/fonctions_dordre_superieur.md b/slides/fonctions_dordre_superieur.md
index 0f8e540..b55dd75 100644
--- a/slides/fonctions_dordre_superieur.md
+++ b/slides/fonctions_dordre_superieur.md
@@ -1,8 +1,8 @@
 ---
-author: "Michaël El Kharroubi (A403), ISC, HEPIA"
-institute: ""
 title: "Fonctions d'ordre supérieur"
 date: "2022-02-22"
+author: "Michaël El Kharroubi (A403), ISC, HEPIA"
+institute: ""
 patat:
     wrap: true
     margins:
@@ -212,4 +212,4 @@ vec3 add(vec3 lhs, vec3 rhs){
         * `is_even`, `is_lower_than_five`
     * Reduce (réduction d'un vecteur à un seul élément)
         * `sum`, `multiply`
-        
\ No newline at end of file
+        
diff --git a/slides/gen_index.sh b/slides/gen_index.sh
new file mode 100755
index 0000000..3d894c5
--- /dev/null
+++ b/slides/gen_index.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+OIFS=$IFS
+NUM_LINE=2
+PREFIX=""
+# PREFIX=cours/algo/slides/
+
+classes=()
+for i in *.md; do
+    [ -f "$i" ] || break
+    comp=$(echo "$fullName" | sed "${NUM_LINE}q;d" $i)
+    date=$(echo "$fullName" | sed "3q;d" $i)
+    IFS=':' 
+    comp=($comp); 
+    comp=${comp[1]}
+    date=($date); 
+    date=${date[1]}
+    # echo $comp
+    IFS='"'
+    comp=($comp)
+    comp=${comp[1]}
+    date=($date); 
+    date=${date[1]}
+    # echo $comp | awk '{ print substr( $0, 1, length($0)-1 ) }'
+    # echo $comp
+    # date=sed "${NUM_LINE}q;d" $i
+    i="${i%.*}"
+    class="[${date} ${comp}](${PREFIX}${i}.pdf)"
+    classes+=($class)
+    # echo "[${date} ${comp}](${PREFIX}${i}.pdf)" >> index.md
+done
+IFS=$'\n'
+classes=($(sort <<<"${classes[*]}"))
+date=$(date '+%Y-%m-%d')
+echo "---" >> index.md
+echo "title: Slides du cours de programmation séquentielle" >> index.md
+echo "date: ${date}" >> index.md
+echo "---" >> index.md
+echo "" >> index.md
+echo "# Tous les slides du cours de programmation séquentielle" >> index.md
+echo "" >> index.md
+for i in ${classes[*]}; do
+    echo "* $i" >> index.md
+done
+
+
+IFS=$OIFS
diff --git a/slides/genericite.md b/slides/genericite.md
index 3aae7cf..6e7d5f4 100644
--- a/slides/genericite.md
+++ b/slides/genericite.md
@@ -1,6 +1,6 @@
 ---
-title: La généricité
-date: 2022-02-22
+title: "La généricité"
+date: "2022-02-22"
 ---
 
 # Problématique
diff --git a/slides/intro.md b/slides/intro.md
index a7d13e1..1e95221 100644
--- a/slides/intro.md
+++ b/slides/intro.md
@@ -1,6 +1,6 @@
 ---
-title: Introduction générale
-date: 2021-09-21
+title: "Introduction générale"
+date: "2021-09-21"
 patat:
     wrap: true
     margins:
diff --git a/slides/ligne_de_commande_c.md b/slides/ligne_de_commande_c.md
index 4b662d4..98b4e47 100644
--- a/slides/ligne_de_commande_c.md
+++ b/slides/ligne_de_commande_c.md
@@ -1,6 +1,6 @@
 ---
-title: La ligne de commande
-date: 2021-11-23
+title: "La ligne de commande"
+date: "2021-11-23"
 ---
 
 # La ligne de commande (1/4)
diff --git a/slides/pointeurs_avances.md b/slides/pointeurs_avances.md
index d8ff894..b6ed53a 100644
--- a/slides/pointeurs_avances.md
+++ b/slides/pointeurs_avances.md
@@ -1,6 +1,6 @@
 ---
-title: Pointeurs avancés
-date: 2022-01-18
+title: "Pointeurs avancés"
+date: "2022-01-18"
 patat:
     wrap: true
     margins:
diff --git a/slides/pointeurs_fonction.md b/slides/pointeurs_fonction.md
index d94366f..bb62ed6 100644
--- a/slides/pointeurs_fonction.md
+++ b/slides/pointeurs_fonction.md
@@ -1,6 +1,6 @@
 ---
-title: Pointeurs de fonctions
-date: 2021-11-16
+title: "Pointeurs de fonctions"
+date: "2021-11-16"
 ---
 
 # Pointeurs de fonctions (1/3)
-- 
GitLab