From d5637576e1ad3c97ac1a4f398335f6bc977d9a3a Mon Sep 17 00:00:00 2001 From: RochDLY Date: Fri, 14 Jun 2024 14:50:57 +0200 Subject: =?UTF-8?q?ajout=20d'une=20fonctionnalit=C3=A9=20pour=20l'affichag?= =?UTF-8?q?e=20des=20diapositives=20des=20pr=C3=A9sentations=20dans=20la?= =?UTF-8?q?=20page=20pr=C3=A9sentations=20lors=20du=20clic=20sur=20un=20hy?= =?UTF-8?q?perlien?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - modification du Makefile pour ajouter un template pour les pages - ajout d'un script JS pour capturer l'événement du clic sur un hyperlien avec la classe 'load-content' - ajout de propriété css pour que la div contenant l'iframe n'apparaisse que lorsqu'il y a une iframe à l'intérieur - réglage de l'affichage des slides en css - la commande 'make html' a mis à jour toutes les pages du site utilisant le template page.html --- Makefile | 5 +++-- docs/css/styles.css | 18 ++++++++++++++++++ docs/js/script.js | 23 +++++++++++++++++++++++ docs/pages/colophon.html | 7 +++++-- docs/pages/cours.html | 7 +++++-- docs/pages/presentations.html | 23 ++++++++--------------- docs/pages/publications.html | 7 +++++-- src/pages/presentations.md | 22 +++------------------- static/css/styles.css | 18 ++++++++++++++++++ static/js/script.js | 23 +++++++++++++++++++++++ templates/page.html | 38 ++++++++++++++++++++++++++++++++++++++ 11 files changed, 149 insertions(+), 42 deletions(-) create mode 100644 docs/js/script.js create mode 100644 static/js/script.js create mode 100644 templates/page.html diff --git a/Makefile b/Makefile index 1f07628..75bde66 100644 --- a/Makefile +++ b/Makefile @@ -68,15 +68,16 @@ docs/index.html: src/index.md templates/index.html $(metadata_site) --output $@ @ echo "L'index est construit." -docs/pages/%.html: src/pages/%.md $(metadata_site) templates/post.html +docs/pages/%.html: src/pages/%.md $(metadata_site) templates/page.html @ mkdir -p "$(@D)" @ echo "Production de la page \"$@\"..." @ pandoc \ $< \ $(PANDOCFLAGS) \ - --template templates/post.html \ + --template templates/page.html \ --output $@ @ echo "La page \"$@\" est construite." + docs/posts/%.html: src/posts/%.md $(metadata_site) templates/post.html @ mkdir -p "$(@D)" diff --git a/docs/css/styles.css b/docs/css/styles.css index c18f08e..8ed60a7 100644 --- a/docs/css/styles.css +++ b/docs/css/styles.css @@ -33,6 +33,7 @@ img { grid-row: 2; background-color: rgb(255, 255, 255); border: 3px solid black; + height: fit-content; } .content { @@ -149,6 +150,23 @@ footer a:hover, footer a:active { grid-row: 2; } +.side-page.has-iframe { + position: -webkit-sticky; + position: sticky; + height: fit-content; + top: 0; + border: 3px solid black; + background-color: rgb(255, 255, 255); + grid-column: 1; + grid-row: 2; +} + +.side-page iframe { + width: 100%; + height: 350px; + border: 0; +} + .toc ul { list-style: none; } diff --git a/docs/js/script.js b/docs/js/script.js new file mode 100644 index 0000000..f388be4 --- /dev/null +++ b/docs/js/script.js @@ -0,0 +1,23 @@ +document.addEventListener('DOMContentLoaded', function () { + // Sélectionner tous les hyperliens avec la classe 'load-content' + const links = document.querySelectorAll('a.load-content'); + + // Ajouter un gestionnaire d'événements pour chaque lien + links.forEach(function(link) { + link.addEventListener('click', function(event) { + event.preventDefault(); // Empêcher le comportement par défaut du lien + + const url = this.href; // Récupérer l'URL du lien + + // Créer une nouvelle iframe + const iframe = document.createElement('iframe'); + iframe.src = url; + + // Vider la div 'contentDiv' et y ajouter la nouvelle iframe + const contentDiv = document.getElementById('contentIframe'); + contentDiv.innerHTML = ''; // Effacer le contenu précédent + contentDiv.appendChild(iframe); + contentDiv.classList.add('has-iframe'); + }); + }); +}); \ No newline at end of file diff --git a/docs/pages/colophon.html b/docs/pages/colophon.html index 215c532..78b1878 100644 --- a/docs/pages/colophon.html +++ b/docs/pages/colophon.html @@ -26,7 +26,9 @@
  • Présentations
  • -
    +
    +
    +

    Colophon

    @@ -61,5 +63,6 @@

    Créé avec Pandoc et Make

    Colophon
    - + + \ No newline at end of file diff --git a/docs/pages/cours.html b/docs/pages/cours.html index 5ed2a79..0f92a32 100644 --- a/docs/pages/cours.html +++ b/docs/pages/cours.html @@ -26,7 +26,9 @@
  • Présentations
  • -
    +
    +
    +

    Enseignements

    @@ -69,5 +71,6 @@

    Créé avec Pandoc et Make

    Colophon
    - + + \ No newline at end of file diff --git a/docs/pages/presentations.html b/docs/pages/presentations.html index bfe84a8..6d895cb 100644 --- a/docs/pages/presentations.html +++ b/docs/pages/presentations.html @@ -26,7 +26,9 @@
  • Présentations
  • - - + + \ No newline at end of file diff --git a/docs/pages/publications.html b/docs/pages/publications.html index 1034c0b..c508fee 100644 --- a/docs/pages/publications.html +++ b/docs/pages/publications.html @@ -26,7 +26,9 @@
  • Présentations
  • -
    +
    +
    +

    Publications et communications

    @@ -93,5 +95,6 @@

    Créé avec Pandoc et Make

    Colophon
    - + + \ No newline at end of file diff --git a/src/pages/presentations.md b/src/pages/presentations.md index 4bd43bf..6802f66 100644 --- a/src/pages/presentations.md +++ b/src/pages/presentations.md @@ -2,22 +2,6 @@ title: Présentations --- -- [13 juin 2024 - _In-silicium_ : Sur les traces de l'intimité du chercheur dans les publications scientifiques](/presentations/doctoriales24.html) - -```{=html} - - -``` -- [02 mai 2024 - Ce que les machines écrivent dans le texte](/presentations/cml_mai24.html) - -```{=html} - - -``` - -- [26 janvier 2024 - Stylo, un éditeur pour les SHS](/presentations/stylo_mtp3_24.html) - -```{=html} - - -``` +- [13 juin 2024 - _In-silicium_ : Sur les traces de l'intimité du chercheur dans les publications scientifiques](/presentations/doctoriales24.html){.load-content} +- [02 mai 2024 - Ce que les machines écrivent dans le texte](/presentations/cml_mai24.html){.load-content} +- [26 janvier 2024 - Stylo, un éditeur pour les SHS](/presentations/stylo_mtp3_24.html){.load-content} diff --git a/static/css/styles.css b/static/css/styles.css index c18f08e..8ed60a7 100644 --- a/static/css/styles.css +++ b/static/css/styles.css @@ -33,6 +33,7 @@ img { grid-row: 2; background-color: rgb(255, 255, 255); border: 3px solid black; + height: fit-content; } .content { @@ -149,6 +150,23 @@ footer a:hover, footer a:active { grid-row: 2; } +.side-page.has-iframe { + position: -webkit-sticky; + position: sticky; + height: fit-content; + top: 0; + border: 3px solid black; + background-color: rgb(255, 255, 255); + grid-column: 1; + grid-row: 2; +} + +.side-page iframe { + width: 100%; + height: 350px; + border: 0; +} + .toc ul { list-style: none; } diff --git a/static/js/script.js b/static/js/script.js new file mode 100644 index 0000000..f388be4 --- /dev/null +++ b/static/js/script.js @@ -0,0 +1,23 @@ +document.addEventListener('DOMContentLoaded', function () { + // Sélectionner tous les hyperliens avec la classe 'load-content' + const links = document.querySelectorAll('a.load-content'); + + // Ajouter un gestionnaire d'événements pour chaque lien + links.forEach(function(link) { + link.addEventListener('click', function(event) { + event.preventDefault(); // Empêcher le comportement par défaut du lien + + const url = this.href; // Récupérer l'URL du lien + + // Créer une nouvelle iframe + const iframe = document.createElement('iframe'); + iframe.src = url; + + // Vider la div 'contentDiv' et y ajouter la nouvelle iframe + const contentDiv = document.getElementById('contentIframe'); + contentDiv.innerHTML = ''; // Effacer le contenu précédent + contentDiv.appendChild(iframe); + contentDiv.classList.add('has-iframe'); + }); + }); +}); \ No newline at end of file diff --git a/templates/page.html b/templates/page.html new file mode 100644 index 0000000..a797545 --- /dev/null +++ b/templates/page.html @@ -0,0 +1,38 @@ + + + + ${partials/head.html()} + + + ${partials/header.html()} +
    +
    +
    +${if(title)} +
    +

    ${title}

    + +${if(date)} + +${endif} + +
    +${endif} +${if(body)} +
    +${body} +${if(refs)} +

    Références

    +${refs} +${endif} +
    +${endif} +
    +${partials/footer.html()} + + + \ No newline at end of file -- cgit v1.2.3