From b4e7dd453e229b56f1d4140a2b2a9f2695bf73b7 Mon Sep 17 00:00:00 2001 From: Tykayn Date: Mon, 28 Apr 2025 23:31:40 +0200 Subject: [PATCH] ajout redirection pour tout un blog caddy server --- WIP/make_caddy_redirect.py | 68 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 WIP/make_caddy_redirect.py diff --git a/WIP/make_caddy_redirect.py b/WIP/make_caddy_redirect.py new file mode 100644 index 00000000..99d56a04 --- /dev/null +++ b/WIP/make_caddy_redirect.py @@ -0,0 +1,68 @@ +import sys +import os + +# Ajoute le dossier parent du script au PYTHONPATH +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +import json +import argparse +from utils.utils import get_blog_template_conf + +# Configuration des arguments de la ligne de commande +parser = argparse.ArgumentParser(description="Générer un fichier de redirection Caddy pour les articles de blog.") +parser.add_argument("blog", help="Le nom du dossier de blog.") +args = parser.parse_args() + +if not args.blog: + print("Erreur: Veuillez spécifier le nom du blog") + parser.print_help() + exit(1) + +# Chemin vers le fichier d'infos +blog_name = args.blog +articles_info_path = f'../sources/{blog_name}/build/articles_info.json' + +template_content = get_blog_template_conf(args.blog) +website_ndd = template_content['NDD'] + +# Charger les données du fichier articles_info.json +json_file = f'../sources/{blog_name}/build/articles_info.json' +with open(json_file, 'r', encoding='utf-8') as f: + articles_info = json.load(f) + +# Trier les articles par date décroissante +sorted_articles = sorted(articles_info.values(), key=lambda x: x['date'], reverse=True) + +# Créer le fichier de configuration Caddy +caddy_config_path = f'{args.blog}.conf.caddy' + +with open(caddy_config_path, 'w', encoding='utf-8') as f: +# f.write(f""" +# {website_ndd} { +# redir {website_ndd}{uri} +# } + +# {website_ndd} { +# import generic_headers +# root * /poule/encrypted/www/{website_ndd} +# encode zstd gzip +# file_server browse + +# } + +# """) + # Pour chaque article, écrire la règle de redirection + for article in sorted_articles: + # Récupérer l'ancien slug (sans année) et le nouveau (avec année) + old_slug = article['slug'] + new_slug = article['slug_with_year'] + + # Écrire la règle de redirection + f.write(f'redir /{old_slug} /{new_slug} permanent\n') + +print(f"Fichier de configuration Caddy généré : {caddy_config_path}") + + +# pour cipherbliss, ajouter : +# redir /contribuer-a-panoramax-avec-open-camera /2024/contribuer-a-panoramax-avec-open-camera +# redir /contact https://portfolio.cipherbliss.com/#contact \ No newline at end of file