From 8abe2f6aad25251d0e84159d7b0ae4b7ce603a4f Mon Sep 17 00:00:00 2001 From: Tykayn Date: Sun, 5 Oct 2025 13:33:46 +0200 Subject: [PATCH] =?UTF-8?q?up=20script=20pour=20g=C3=A9n=C3=A9rer,=20ajout?= =?UTF-8?q?=20bouton=20themes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements.txt | 3 ++ ...ontribuer-a-panoramax-avec-open-camera.org | 3 +- ...01__les-projets-du-mois-sont-de-retour.org | 29 ++++++++++++++++ templates/js/main_script.js | 33 +++++++++++++++++++ utils/utils.py | 9 ++--- 5 files changed, 71 insertions(+), 6 deletions(-) create mode 100644 requirements.txt create mode 100644 sources/cipherbliss_blog/lang_fr/20251005131301__les-projets-du-mois-sont-de-retour.org diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..d6bef037 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +pypandoc +md2gemini +jinja2 diff --git a/sources/cipherbliss_blog/lang_fr/20240105T123256__contribuer-a-panoramax-avec-open-camera.org b/sources/cipherbliss_blog/lang_fr/20240105T123256__contribuer-a-panoramax-avec-open-camera.org index caad9934..8cb0f92f 100644 --- a/sources/cipherbliss_blog/lang_fr/20240105T123256__contribuer-a-panoramax-avec-open-camera.org +++ b/sources/cipherbliss_blog/lang_fr/20240105T123256__contribuer-a-panoramax-avec-open-camera.org @@ -27,8 +27,7 @@ (disponible sur f-droid) pour régler les config, c'est l'icône roue dentée en haut à droite: -- Activer le GPS du -smartphone.  Et enregistrer les infos GPS dans les photos: Paramètres > +- Activer le GPS du smartphone.  Et enregistrer les infos GPS dans les photos: Paramètres > Paramètres de géocodage >✅ Stocker les données de position + ✅stocker la direction de la boussole. diff --git a/sources/cipherbliss_blog/lang_fr/20251005131301__les-projets-du-mois-sont-de-retour.org b/sources/cipherbliss_blog/lang_fr/20251005131301__les-projets-du-mois-sont-de-retour.org new file mode 100644 index 00000000..a7ff4cc1 --- /dev/null +++ b/sources/cipherbliss_blog/lang_fr/20251005131301__les-projets-du-mois-sont-de-retour.org @@ -0,0 +1,29 @@ +:PROPERTIES: +:ID: 2d3dea63-7567-4def-80d9-c9bd82d41eed +:END: + +#+title: les projets du mois sont de retour +#+post_ID: +#+post_slug: les-projets-du-mois-sont-de-retour +#+post_lang: fr +#+post_url: https://www.cipherbliss.com2025/les-projets-du-mois-sont-de-retour +#+post_title: les projets du mois sont de retour +#+post_tags: +#+post_series: +#+post_type: post +#+post_status: publish +#+post_date_published: <2025-10-05 13:13:01> +#+post_date_modified: <2025-10-05 13:13:01> +#+post_index_page_roam_id: e6b71cdd-38b5-44df-82c5-16c45eb9b21b + + +* les projets du mois sont de retour + +Ces projets "du mois" permettent d'animer la communauté de gens qui contribuent à OpenStreetMap +sur des sujets identifiés par les membres afin de favoriser la complétion des donneés ouvertes. +Ces projets durent bien sûr plus qu'un mois et le suivi des objets se fait sur plusieurs années. + +Vous pouvez tester sur https://projetdumois.fr + + + diff --git a/templates/js/main_script.js b/templates/js/main_script.js index 6a122c43..5568cb81 100644 --- a/templates/js/main_script.js +++ b/templates/js/main_script.js @@ -51,4 +51,37 @@ document.addEventListener('DOMContentLoaded', function () { }); + const themes_calsses = ['default', 'mastodon', 'another'] + + function makeThemesButton(){ + + // Crée un bouton pour changer de thème et l'ajoute au body + const boutonTheme = document.createElement('button'); + boutonTheme.textContent = 'Changer de thème'; + boutonTheme.id = 'theme-switcher'; + document.body.appendChild(boutonTheme); + + addEventListener('click', onClickThemeButton) +} + + + function onClickThemeButton(){ + + // Passer au thème suivant et appliquer la classe au body + // On suppose que themes_calsses est un tableau global + if (!window.currentThemeIndex && window.currentThemeIndex !== 0) { + // Initialiser l'index du thème courant en fonction de la classe actuelle du body + const currentClass = document.body.className; + window.currentThemeIndex = themes_calsses.indexOf(currentClass); + if (window.currentThemeIndex === -1) { + window.currentThemeIndex = 0; + } + } + // Passer au thème suivant + window.currentThemeIndex = (window.currentThemeIndex + 1) % themes_calsses.length; + // Appliquer la nouvelle classe au body + document.body.className = themes_calsses[window.currentThemeIndex]; + } + + }); \ No newline at end of file diff --git a/utils/utils.py b/utils/utils.py index c9b46c30..bee21f8c 100644 --- a/utils/utils.py +++ b/utils/utils.py @@ -692,8 +692,9 @@ def get_series_name(article_slug, blog_name): :param article: Dictionnaire contenant les informations de l'article :return: Le nom de la série ou None si l'article n'appartient à aucune série """ - if blog_name in website_config: - for s in website_config[blog_name]['SERIES']: - if article_slug in website_config['SERIES'][blog_name][s]['articles']: - return s + # Utiliser la configuration des sites importée depuis website_config.py + if blog_name in configs_sites and 'SERIES' in configs_sites[blog_name]: + for serie_key, serie_conf in configs_sites[blog_name]['SERIES'].items(): + if 'articles' in serie_conf and article_slug in serie_conf['articles']: + return serie_key return None