up script pour générer, ajout bouton themes

This commit is contained in:
Tykayn 2025-10-05 13:33:46 +02:00 committed by tykayn
parent 55e0f2a55c
commit 8abe2f6aad
5 changed files with 71 additions and 6 deletions

3
requirements.txt Normal file
View file

@ -0,0 +1,3 @@
pypandoc
md2gemini
jinja2

View file

@ -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.

View file

@ -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

View file

@ -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];
}
});

View file

@ -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