#!/usr/bin/env python3 # création de nouvel article de blog # exemple de commande # python new_article.py cipherbliss_blog fr "Création d'un blog gemini" import os from datetime import datetime import argparse # Configuration des arguments de la ligne de commande parser = argparse.ArgumentParser(description="Générer un nouvel article en mode orgmode.") parser.add_argument("blog_dir", help="Le nom du dossier de blog.") parser.add_argument("lang", help="La langue de l'article.") parser.add_argument("title", help="Le titre de l'article.") args = parser.parse_args() # Génération du nom de fichier org avec la date et le slug now = datetime.now() # date_string = now.strftime("%Y-%m-%d") date_string = now.strftime("%Y%m%d%H%M%S") date_string_full = now.strftime("%Y-%m-%d %H:%M:%S") # date_string_full = now.strftime("%Y%m%d%H%M%S") slug = args.title.lower().replace(" ", "-") file_abs_path = os.path.abspath(os.path.dirname(__file__)) filename = f"{file_abs_path}/sources/{args.blog_dir}/lang_{args.lang}/{date_string}_{args.blog_dir}_{slug}.org" import uuid def create_uuid_property(): uuid_value = uuid.uuid4() return f":PROPERTIES:\n:ID: {uuid_value}\n:END:\n" # Écriture du fichier org with open(filename, "w") as f: f.write(f"{create_uuid_property()}") f.write(f"#+TITLE: {args.title}\n") f.write(f"#+CREATED: <{date_string_full}>\n") f.write(f"#+TAGS: \n") f.write(f"#+SLUG: {slug}\n") f.write(f"#+BLOG: {args.blog_dir}\n\n") f.write(f"* {args.title}\n\n") # f.write(f"[{date_string}]\n\n") print(f"Le fichier '{filename}' a été créé avec succès.")